2004-03-09 15:37:37

by Adrian Cox

[permalink] [raw]
Subject: Problems with 2.6.4-rc2 NFS server and diskless clients

Using 2.6.4-rc2 on the NFS server together with Debian unstable
(nfs-kernel-server version 1:1.0.6-1), diskless clients can no longer
mount their root filesystems. The same configuration works with a 2.4
kernel on the server.

The client reports "nfs_get_root: getattr error = 116". No error
messages appear in the server logs. And the old recipe of exporting with
"no_subtree_check" makes no difference.

Anybody have any suggestions?

The NFS part of .config on the server is:
#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not set
# CONFIG_NFSD_TCP is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_SUNRPC=y
# CONFIG_SUNRPC_GSS is not set

- Adrian Cox




2004-03-09 15:52:16

by Trond Myklebust

[permalink] [raw]
Subject: Re: Problems with 2.6.4-rc2 NFS server and diskless clients

P? ty , 09/03/2004 klokka 10:37, skreiv Adrian Cox:
> Using 2.6.4-rc2 on the NFS server together with Debian unstable
> (nfs-kernel-server version 1:1.0.6-1), diskless clients can no longer
> mount their root filesystems. The same configuration works with a 2.4
> kernel on the server.
>
> The client reports "nfs_get_root: getattr error = 116". No error
> messages appear in the server logs. And the old recipe of exporting with
> "no_subtree_check" makes no difference.
>
> Anybody have any suggestions?

There's already a patch for that in the Bitkeeper tree.

Cheers

Trond

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/03/06 16:11:47-08:00 [email protected]
# [PATCH] Fix knfsd filehandles...
#
# Here's a fix for an obvious typo in changeset
# [email protected]|ChangeSet|20040305155724|31191
# that was causing ESTALE errors galore on my NFS testrig.
#
# fs/nfsd/nfsfh.c
# 2004/03/06 13:46:05-08:00 [email protected] +1 -0
# Fix knfsd filehandles...
#
diff -Nru a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
--- a/fs/nfsd/nfsfh.c Tue Mar 9 10:51:22 2004
+++ b/fs/nfsd/nfsfh.c Tue Mar 9 10:51:22 2004
@@ -396,6 +396,7 @@
*/
mk_fsid_v0(datap, ex_dev,
exp->ex_dentry->d_inode->i_ino);
+ break;
case 1:
/* fsid_type 1 == 4 bytes filesystem id */
mk_fsid_v1(datap, exp->ex_fsid);