From 9843fa2ed7ebfbab156d5c20d4c3c0bfb8b0210b Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Thu, 3 Sep 2009 14:47:58 +0000 Subject: [PATCH] Various NFS server fixes: - Added rpc.statd service, which prevents messages that tell you that you should use -o nolock - Create /var/lib/nfs on initialization - Create /etc/exports, so that exportfs can create /var/lib/nfs/etab. This prevents errors such as: mount.nfs: an incorrect mount option was specified svn path=/nixos/trunk/; revision=16953 --- .../network-filesystems/nfs-kernel.nix | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/modules/services/network-filesystems/nfs-kernel.nix b/modules/services/network-filesystems/nfs-kernel.nix index b10d58ff6b13..b41e33bb4bad 100644 --- a/modules/services/network-filesystems/nfs-kernel.nix +++ b/modules/services/network-filesystems/nfs-kernel.nix @@ -64,6 +64,11 @@ mkIf config.services.nfsKernel.enable { options ]; + environment.etc = [ + { source = exports; + target = "exports"; } + ]; + services = { extraJobs = [ { @@ -77,15 +82,17 @@ mkIf config.services.nfsKernel.enable { start script export PATH=${pkgs.nfsUtils}/sbin + mkdir -p /var/lib/nfs ${modprobe}/sbin/modprobe nfsd || true - exportfs -a + exportfs -ra end script respawn sleep 1000000 start script + mkdir -p /var/lib/nfs export PATH=${pkgs.nfsUtils}/sbin - exportfs -au + exportfs -ra end script ''; } @@ -113,6 +120,22 @@ mkIf config.services.nfsKernel.enable { respawn ${pkgs.nfsUtils}/sbin/rpc.mountd -F -f ${exports} ''; } + { + name = "nfs-kernel-statd"; + + job = '' + description "NSM (Network Status Monitor) of the RPC protocol" + + start on nfs-kernel-rpc-nfsd/started + stop on nfs-kernel-exports/stop + + start script + mkdir -p /var/lib/nfs + end script + + respawn ${pkgs.nfsUtils}/sbin/rpc.statd + ''; + } ]; }; }