Hi,

While trying to run the kernel nfs server, I stumbled upon two bugs :

- /proc/fs/nfsd is not mounted anywhere, and this is absolutely needed
not to have strange "Stale NFS file handle" errors on the client (it
took me a while to figure that out). I am also wondering is the sunrpc
mount in /var/lib/nfs/rpc_pipefs (taken from my Debian) is needed too,
but I am not at all knowledgeable in NFS. If someone could check
that ...

- The install process forgot to include sm-notify (may not be absolutely
needed too, but some NFS process complains in the log about it missing).

The following patch add the corresponding (un)mount calls in the init
script, and also includes the missing file.

Signed-off-by: Benjamin Cama <[email protected]>
---
Index: net/nfs-kernel-server/files/nfsd.init
===================================================================
--- net/nfs-kernel-server/files/nfsd.init       (revision 19631)
+++ net/nfs-kernel-server/files/nfsd.init       (working copy)
@@ -8,6 +8,8 @@
 LOCK_D=/var/lib/nfs/sm
 
 start() {
+       grep -q /proc/fs/nsfd /proc/mounts || \
+               mount -t nfsd nfsd /proc/fs/nfsd
        mkdir -p $NFS_D
        mkdir -p $LOCK_D
        touch $NFS_D/rmtab
@@ -23,6 +25,8 @@
        rpc.nfsd 0 2> /dev/null
        /usr/sbin/exportfs -au
        killall rpc.statd 2> /dev/null
+       grep -q /proc/fs/nsfd /proc/mounts && \
+               umount /proc/fs/nsfd
 }
 
 reload() {
Index: net/nfs-kernel-server/Makefile
===================================================================
--- net/nfs-kernel-server/Makefile      (revision 19631)
+++ net/nfs-kernel-server/Makefile      (working copy)
@@ -85,6 +85,7 @@
        $(INSTALL_DATA) ./files/nfsd.exports $(1)/etc/exports
        $(INSTALL_BIN) ./files/nfsd.init $(1)/etc/init.d/nfsd
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/statd/statd 
$(1)/usr/sbin/rpc.statd
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/statd/sm-notify $(1)/usr/sbin/
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/nfsd/nfsd $(1)/usr/sbin/rpc.nfsd
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/mountd/mountd 
$(1)/usr/sbin/rpc.mountd
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/exportfs/exportfs $(1)/usr/sbin/


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to