Re: [PATCH] systemd: nfs-server service should use network-online

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 10 2017, Steve Dickson wrote:

> On 04/09/2017 09:12 PM, NeilBrown wrote:
>> On Fri, Apr 07 2017, Steve Dickson wrote:
>> 
>>> There has been an number startup problems where parts of
>>> the NFS server fail to start due to DNS and other
>>> parts of the network not be up.
>>>
>>> Reading the systemd.special it seems network.target is
>>> a passive unit which does not wait and network-online.target
>>> is an active unit which does not wait so that
>>> should be used.
>> 
>> I assume that last "not" should not be there?
> Right... 
>> 
>> According to systemd.special, we should add
>>   Wants=network-online.target
>> though "Requires" is probably OK.
> I did see that... but the bug report said After= 
> worked so I went with that... 

I think that is dangerous, though obviously not very...

On my openSUSE system,
  systemctl show network-online.target | grep By=
only shows
  WantedBy=winbind.service

If I didn't have winbind installed, nothing would want the .target, so
it wouldn't be activated, so nfs-server wouldn't be ordered with it.

The network still comes up because the services that activate it are
WantedBy=multi-user.target
so nfs-server will (eventually) work, but there is no guarantee of
ordering.
I think it would be safest to follow the man page and Want or Require
network-online.target, rather than assume that something else will.

Thanks,
NeilBrown


>
>> 
>> nfs-server.service already has
>>  Requires= network.target
>> which you didn't change.
>> 
>> Also nfs-mountd rpc-statd-notify and rpc.statd all have
>>  After = network.target
>> 
>> They should probably be changed too ??
> yup... good call.
>
> steved.
>
>> 
>> Thanks,
>> NeilBrown
>> 
>> 
>>>
>>> Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1419351
>>>
>>> Signed-off-by: Steve Dickson <steved@xxxxxxxxxx>
>>> ---
>>>  systemd/nfs-server.service | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/systemd/nfs-server.service b/systemd/nfs-server.service
>>> index 5be5de6..7cf4ae0 100644
>>> --- a/systemd/nfs-server.service
>>> +++ b/systemd/nfs-server.service
>>> @@ -7,8 +7,8 @@ Wants=rpcbind.socket
>>>  Wants=rpc-statd.service nfs-idmapd.service
>>>  Wants=rpc-statd-notify.service
>>>  
>>> -After= local-fs.target
>>> -After= network.target proc-fs-nfsd.mount rpcbind.socket nfs-mountd.service
>>> +After= local-fs.target network-online.target
>>> +After= proc-fs-nfsd.mount rpcbind.socket nfs-mountd.service
>>>  After= nfs-idmapd.service rpc-statd.service
>>>  Before= rpc-statd-notify.service
>>>  
>>> -- 
>>> 2.9.3
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux