diff options
-rw-r--r-- | meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver index 1ac6fec023..8ee8d0bb50 100644 --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver | |||
@@ -25,6 +25,7 @@ test -r /etc/default/nfsd && . /etc/default/nfsd | |||
25 | test -x "$NFS_MOUNTD" || NFS_MOUNTD=/usr/sbin/rpc.mountd | 25 | test -x "$NFS_MOUNTD" || NFS_MOUNTD=/usr/sbin/rpc.mountd |
26 | test -x "$NFS_NFSD" || NFS_NFSD=/usr/sbin/rpc.nfsd | 26 | test -x "$NFS_NFSD" || NFS_NFSD=/usr/sbin/rpc.nfsd |
27 | test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd | 27 | test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd |
28 | test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid | ||
28 | # | 29 | # |
29 | # The user mode program must also exist (it just starts the kernel | 30 | # The user mode program must also exist (it just starts the kernel |
30 | # threads using the kernel module code). | 31 | # threads using the kernel module code). |
@@ -77,6 +78,17 @@ stop_mountd(){ | |||
77 | # | 78 | # |
78 | #nfsd | 79 | #nfsd |
79 | start_nfsd(){ | 80 | start_nfsd(){ |
81 | modprobe -q nfsd | ||
82 | grep -q nfsd /proc/filesystems || { | ||
83 | echo NFS daemon support not enabled in kernel | ||
84 | exit 1 | ||
85 | } | ||
86 | grep -q nfsd /proc/mounts || mount -t nfsd nfsd /proc/fs/nfsd | ||
87 | grep -q nfsd /proc/mounts || { | ||
88 | echo nfsd filesystem could not be mounted at /proc/fs/nfsd | ||
89 | exit 1 | ||
90 | } | ||
91 | |||
80 | echo -n "starting $1 nfsd kernel threads: " | 92 | echo -n "starting $1 nfsd kernel threads: " |
81 | start-stop-daemon --start --exec "$NFS_NFSD" -- "$@" | 93 | start-stop-daemon --start --exec "$NFS_NFSD" -- "$@" |
82 | echo done | 94 | echo done |
@@ -115,14 +127,12 @@ stop_nfsd(){ | |||
115 | #statd | 127 | #statd |
116 | start_statd(){ | 128 | start_statd(){ |
117 | echo -n "starting statd: " | 129 | echo -n "starting statd: " |
118 | start-stop-daemon --start --exec "$NFS_STATD" | 130 | start-stop-daemon --start --exec "$NFS_STATD" --pidfile "$STATD_PID" |
119 | echo done | 131 | echo done |
120 | } | 132 | } |
121 | stop_statd(){ | 133 | stop_statd(){ |
122 | # WARNING: this kills any process with the executable | ||
123 | # name 'statd'. | ||
124 | echo -n 'stopping statd: ' | 134 | echo -n 'stopping statd: ' |
125 | start-stop-daemon --stop --quiet --signal 1 --name statd | 135 | start-stop-daemon --stop --quiet --signal 1 --pidfile "$STATD_PID" |
126 | echo done | 136 | echo done |
127 | } | 137 | } |
128 | #---------------------------------------------------------------------- | 138 | #---------------------------------------------------------------------- |