Re: [PATCH] Fix nfs-mountd dependency on rpcbind

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

 



On Tue, Feb 07 2017, Rafael David Tinoco wrote:

> Following commit 91da135f - it replaced "rpcbind.target" by "rpcbind.socket" in
> some unit files - "rpcbind.socket" should also be added to "nfs-mountd.service"
> as a dependency to avoid race conditions.
>
> Usually "rpcbind.socket" is either started as a "sockets.target" dependency, or
> as a dependency for "nfs-server.service", when unit files include it in
> "BindsTo" or "After". Unfortunately there is a possilibility to have
> "nfs-mountd.service" started when the rpcbind socket is not yet created:
>
> systemd[1]: Starting NFS Mount Daemon...
> systemd[1]: nfs-mountd.service: Control process exited, code=exited status=1
> systemd[1]: Failed to start NFS Mount Daemon.
> systemd[1]: nfs-mountd.service: Unit entered failed state.
> systemd[1]: nfs-mountd.service: Failed with result 'exit-code'.
>
> Nowadays "nfs-mountd.service" uses "BindTo" directive to "nfs-server.service".
> That, per se, doesn't guarantee ordering for NFS server to start rpcbind and for
> nfs-mountd to depend on it.
>
> https://bugs.launchpad.net/bugs/1590799
>
> Signed-off-by: Rafael David Tinoco <rafael.tinoco@xxxxxxxxxxxxx>

Thanks for finding this!

 Reviewed-by: NeilBrown <neilb@xxxxxxxx>

I would not be against adding
  Wants=rpcbind.socket

but as you say, it isn't strictly needed.

Thanks,
NeilBrown


> ---
>  systemd/nfs-mountd.service | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/systemd/nfs-mountd.service b/systemd/nfs-mountd.service
> index 15e828b..b0a8bc0 100644
> --- a/systemd/nfs-mountd.service
> +++ b/systemd/nfs-mountd.service
> @@ -4,6 +4,7 @@ DefaultDependencies=no
>  Requires=proc-fs-nfsd.mount
>  After=proc-fs-nfsd.mount
>  After=network.target local-fs.target
> +After=rpcbind.socket
>  BindsTo=nfs-server.service
>  
>  [Service]
> -- 
> 2.9.3

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