diff mbox

[2/2] systemd: Removed the "ordering cycle" from nfs-server.service

Message ID 1392713329-17979-3-git-send-email-steved@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Steve Dickson Feb. 18, 2014, 8:48 a.m. UTC
Commit 88ff0417 introduce 'Wants=' statements that
conditionally started other services. Those services
need to be removed from the 'After=' statements
otherwise a systemd ordering cycle is created.

Signed-off-by: Steve Dickson <steved@redhat.com>
---
 systemd/nfs-server.service | 2 --
 1 file changed, 2 deletions(-)

Comments

NeilBrown Feb. 19, 2014, 3:21 a.m. UTC | #1
On Tue, 18 Feb 2014 03:48:49 -0500 Steve Dickson <steved@redhat.com> wrote:

> Commit 88ff0417 introduce 'Wants=' statements that
> conditionally started other services. Those services
> need to be removed from the 'After=' statements
> otherwise a systemd ordering cycle is created.
> 
> Signed-off-by: Steve Dickson <steved@redhat.com>
> ---
>  systemd/nfs-server.service | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/systemd/nfs-server.service b/systemd/nfs-server.service
> index 26df656..43be4aa 100644
> --- a/systemd/nfs-server.service
> +++ b/systemd/nfs-server.service
> @@ -7,8 +7,6 @@ Wants=rpc-statd.service nfs-idmapd.service rpc-gssd.service rpc-svcgssd.service
>  Wants=rpc-statd-notify.service
>  
>  After= network.target proc-fs-nfsd.mount rpcbind.target nfs-mountd.service
> -After= nfs-idmapd.service rpc-statd.service
> -After= rpc-gssd.service rpc-svcgssd.service
>  Before= rpc-statd-notify.service
>  
>  [Service]

"Wants" does not imply ordering.  If A Wants B, then A and B can be started
at the same time.
But we really want these various services to be running before nfsd is
started.  So the "After" are important.  Please leave them.

The lack of ordering is explicit in the documentation for Requires:


               If a unit foo.service requires a unit bar.service as
           configured with Requires= and no ordering is configured with After=
           or Before=, then both units will be started simultaneously and
           without any delay between them if foo.service is activated.

and implicit in the documentation for Wants:

       Wants=
           A weaker version of Requires=. 

Thanks,
NeilBrown
diff mbox

Patch

diff --git a/systemd/nfs-server.service b/systemd/nfs-server.service
index 26df656..43be4aa 100644
--- a/systemd/nfs-server.service
+++ b/systemd/nfs-server.service
@@ -7,8 +7,6 @@  Wants=rpc-statd.service nfs-idmapd.service rpc-gssd.service rpc-svcgssd.service
 Wants=rpc-statd-notify.service
 
 After= network.target proc-fs-nfsd.mount rpcbind.target nfs-mountd.service
-After= nfs-idmapd.service rpc-statd.service
-After= rpc-gssd.service rpc-svcgssd.service
 Before= rpc-statd-notify.service
 
 [Service]