[systemd-devel] [PATCH 2/2] systemd: Relax dependencies of services
Zbigniew Jędrzejewski-Szmek
zbyszek at in.waw.pl
Tue Mar 3 10:08:09 PST 2015
On Tue, Mar 03, 2015 at 06:28:10PM +0100, Martin Pitt wrote:
> Stop depending on basic.target in the daemons which still do; i. e. add
> DefaultDependencies=no. This makes it possible to run NFS during early boot,
> and helps if you e. g. have /var on NFS. We don't require much else than
> local-fs.
Are you sure that all of those nfs daemons do not require
sockets.target and other stuff provided by basic.target to be ready?
Zbyszek
> ---
> systemd/auth-rpcgss-module.service | 1 +
> systemd/nfs-config.service | 2 ++
> systemd/nfs-idmapd.service | 3 ++-
> systemd/nfs-mountd.service | 3 ++-
> systemd/nfs-server.service | 2 ++
> systemd/rpc-statd-notify.service | 3 ++-
> systemd/rpc-svcgssd.service | 3 ++-
> 7 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/systemd/auth-rpcgss-module.service b/systemd/auth-rpcgss-module.service
> index 0355e13..5241f7b 100644
> --- a/systemd/auth-rpcgss-module.service
> +++ b/systemd/auth-rpcgss-module.service
> @@ -6,6 +6,7 @@
> # unit will fail. But that's OK.)
> [Unit]
> Description=Kernel Module supporting RPCSEC_GSS
> +DefaultDependencies=no
> Before=gssproxy.service rpc-svcgssd.service rpc-gssd.service
> Wants=gssproxy.service rpc-svcgssd.service rpc-gssd.service
> ConditionPathExists=/etc/krb5.keytab
> diff --git a/systemd/nfs-config.service b/systemd/nfs-config.service
> index 64010e6..7f65305 100644
> --- a/systemd/nfs-config.service
> +++ b/systemd/nfs-config.service
> @@ -1,5 +1,7 @@
> [Unit]
> Description=Preprocess NFS configuration
> +After=local-fs.target
> +DefaultDependencies=no
>
> [Service]
> Type=oneshot
> diff --git a/systemd/nfs-idmapd.service b/systemd/nfs-idmapd.service
> index e84f8c8..df3dd9d 100644
> --- a/systemd/nfs-idmapd.service
> +++ b/systemd/nfs-idmapd.service
> @@ -1,7 +1,8 @@
> [Unit]
> Description=NFSv4 ID-name mapping service
> +DefaultDependencies=no
> Requires=var-lib-nfs-rpc_pipefs.mount
> -After=var-lib-nfs-rpc_pipefs.mount
> +After=var-lib-nfs-rpc_pipefs.mount local-fs.target
>
> BindsTo=nfs-server.service
>
> diff --git a/systemd/nfs-mountd.service b/systemd/nfs-mountd.service
> index d908afe..8a39f3e 100644
> --- a/systemd/nfs-mountd.service
> +++ b/systemd/nfs-mountd.service
> @@ -1,8 +1,9 @@
> [Unit]
> Description=NFS Mount Daemon
> +DefaultDependencies=no
> Requires=proc-fs-nfsd.mount
> After=proc-fs-nfsd.mount
> -After=network.target
> +After=network.target local-fs.target
> BindsTo=nfs-server.service
>
> Wants=nfs-config.service
> diff --git a/systemd/nfs-server.service b/systemd/nfs-server.service
> index b35e193..db801cb 100644
> --- a/systemd/nfs-server.service
> +++ b/systemd/nfs-server.service
> @@ -1,10 +1,12 @@
> [Unit]
> Description=NFS server and services
> +DefaultDependencies=no
> Requires= network.target proc-fs-nfsd.mount rpcbind.target
> Requires= nfs-mountd.service
> Wants=rpc-statd.service nfs-idmapd.service
> Wants=rpc-statd-notify.service
>
> +After= local-fs.target
> After= network.target proc-fs-nfsd.mount rpcbind.target nfs-mountd.service
> After= nfs-idmapd.service rpc-statd.service
> Before= rpc-statd-notify.service
> diff --git a/systemd/rpc-statd-notify.service b/systemd/rpc-statd-notify.service
> index a655445..a7e2f8e 100644
> --- a/systemd/rpc-statd-notify.service
> +++ b/systemd/rpc-statd-notify.service
> @@ -1,7 +1,8 @@
> [Unit]
> Description=Notify NFS peers of a restart
> +DefaultDependencies=no
> Requires=network-online.target
> -After=network.target nss-lookup.target
> +After=local-fs.target network.target nss-lookup.target
>
> # if we run an nfs server, it needs to be running before we
> # tell clients that it has restarted.
> diff --git a/systemd/rpc-svcgssd.service b/systemd/rpc-svcgssd.service
> index f7424b0..41177b6 100644
> --- a/systemd/rpc-svcgssd.service
> +++ b/systemd/rpc-svcgssd.service
> @@ -1,7 +1,8 @@
> [Unit]
> Description=RPC security service for NFS server
> +DefaultDependencies=no
> Requires=var-lib-nfs-rpc_pipefs.mount
> -After=var-lib-nfs-rpc_pipefs.mount
> +After=var-lib-nfs-rpc_pipefs.mount local-fs.target
> PartOf=nfs-server.service
> PartOf=nfs-utils.service
>
> --
> 2.1.4
>
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
More information about the systemd-devel
mailing list