Re: BUG REPORT: kernel nfs between 2.4.19-pre2 (server) and 2.2.21-pre3 (client)

NIIBE Yutaka
2002-03-18T07:07:34Z

Hello Trond,

Trond Myklebust wrote:
> The only thing I can think might be missing is the fix to cope with
> broken servers that reuse filehandles (this violates the
> RFCs). Reiserfs 3.5 + knfsd is one such broken combination. Another
> broken server is unfsd...

Yes, unfsd...

A problem is easily reproducible with user-space nfsd (on ext3, in my case).
We see the message (say, when installing a package with dpkg -i):
nfs_refresh_inode: inode XXXXXXX mode changed, OOOO to OOOO
Which means, same file handle but different type.

FWIW, I'm using the patch attached. It works for me.

--- linux-2.4.18/fs/nfs/inode.c~ Wed Mar 13 17:56:48 2002
+++ linux-2.4.18.superh/fs/nfs/inode.c Mon Mar 18 13:27:39 2002
@@ -680,8 +680,10 @@ nfs_find_actor(struct inode *inode, unsi
if (is_bad_inode(inode))
return 0;
/* Force an attribute cache update if inode->i_count == 0 */
- if (!atomic_read(&inode->i_count))
+ if (!atomic_read(&inode->i_count)) {
NFS_CACHEINV(inode);
+ inode->i_mode = 0;
+ }
return 1;
}

--