Re: NFS client questions...

Trond Myklebust (trond.myklebust@fys.uio.no)
Wed, 21 Jul 1999 16:28:46 +0200 (CEST)


> Take two machines. Call them (1) and (2) in this case. Make them both
> Linux machines. Do the following, in this order:

> 1: mkdir bla
> 1: touch bla/foo.x
> 2: touch bla/foo.y
> 1: rm -rf bla
> 1: mkdir bla
> 2: ls -ls bla

> The result of the "ls -ls" will produce nothing on FreeBSD or Solaris, but on
> Linux, it's "Stale file handles" up the wazoo. I think I know how to fix this
> as well, but I'm still poking about, but I believe that just fixing up
> nfs_invalidate_inode to do the appropriate thing when it's a directory and
> offset of 0 will do the trick. :)

> Thoughts?

Hi Steve,

The following patch to stock linux-2.2.10 fixes the problem for
me. Please try it out... If it works out OK, perhaps Alan could apply
it to the 'ac' series too?

Sorry I didn't reply earlier, but I'm off on holiday this
week. I just quickly popped in to the office to read my mails today...

Cheers,
Trond

--- linux-2.2.10/fs/nfs/dir.c.orig Sun May 9 08:18:22 1999
+++ linux-2.2.10/fs/nfs/dir.c Wed Jul 21 16:17:36 1999
@@ -463,6 +463,8 @@

/* Filehandle matches? */
if (memcmp(dentry->d_fsdata, &fhandle, sizeof(struct nfs_fh))) {
+ if (!list_empty(&dentry->d_subdirs))
+ shrink_dcache_parent(dentry);
if (dentry->d_count < 2)
goto out_bad;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/