From 99cca93398bce8d5aeead5f6de750526c651adcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 28 Dec 2011 08:44:24 +0000 Subject: [PATCH] Fixing the race condition on loading nfsd. It was not a modprobe thing like I said on 31113, but again, upstart order. I restore the usual modprobe procedure. svn path=/nixos/trunk/; revision=31119 --- modules/services/network-filesystems/nfs-kernel.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/services/network-filesystems/nfs-kernel.nix b/modules/services/network-filesystems/nfs-kernel.nix index 0cc9d07cad2..2c65b3f76cd 100644 --- a/modules/services/network-filesystems/nfs-kernel.nix +++ b/modules/services/network-filesystems/nfs-kernel.nix @@ -118,7 +118,7 @@ in I've not tried with nfsd alone. So I add what I tried, with nfs_acl too. */ - boot.kernelModules = mkIf cfg.server.enable [ "nfsd" "nfs_acl" ]; + # boot.kernelModules = mkIf cfg.server.enable [ "nfsd" "nfs_acl" ]; jobs = optionalAttrs cfg.server.enable @@ -155,6 +155,9 @@ in # Create a state directory required by NFSv4. mkdir -p /var/lib/nfs/v4recovery + # rpc.nfsd needs the kernel support + ${config.system.sbin.modprobe}/sbin/modprobe nfsd || true + ${pkgs.sysvtools}/bin/mountpoint -q /proc/fs/nfsd \ || ${config.system.sbin.mount}/bin/mount -t nfsd none /proc/fs/nfsd @@ -183,7 +186,7 @@ in description = "Kernel NFS server - mount daemon"; - startOn = "starting nfs-kernel-exports or started portmap"; + startOn = "started nfs-kernel-nfsd"; stopOn = "stopped nfs-kernel-statd"; daemonType = "fork"; @@ -199,9 +202,9 @@ in description = "Kernel NFS server - Network Status Monitor"; startOn = if (cfg.server.enable) then - "started nfs-kernel-mountd and started nfs-kernel-nfsd" - else - "started portmap"; + "started nfs-kernel-mountd and started nfs-kernel-nfsd" + else + "started portmap"; stopOn = "stopping nfs-kernel-exports or stopping portmap"; preStart =