Messages in this thread Patch in this message | | | Date | Wed, 21 Jul 1999 16:28:46 +0200 (CEST) | Subject | Re: NFS client questions... | From | Trond Myklebust <> |
| |
> 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/
| |