Messages in this thread Patches in this message | | | Date | Thu, 5 Aug 1999 23:22:12 +0200 (CEST) | Subject | Re: 2.2.10-ac<x> / 2.2.11-pre<x> NFS client problem & bugfix | From | Trond Myklebust <> |
| |
>>>>> " " == Kurt Garloff <garloff@suse.de> writes:
> [1 <multipart/mixed>] [1.1 <text/plain; iso-8859-1 > (quoted-printable)>] On Thu, Aug 05, 1999 at 03:33:59PM +0200, > Trond Myklebust wrote: >> With your test I see both the 30second delay (if you don't >> access the parent directory in any way) and the 1 second >> delay. No persistent negative dentries. >> >> If this is a major problem, I suggest rather that we fine-tune >> the delays, not that we remove support for negative dentry >> caching. Linus' typical example was an NFS-shared /usr/share >> partition (or any NFSroot system): if you have several users >> searching for a file in such a tree, turning off caching of >> negative dentries can lead to storms of unnecessary NFS_LOOKUP >> calls.
> What happens, is that the file is *NEVER* seen, which is > clearly a bug. Don't argue on that, please. (Here: 2.2.10ac8 > w/ knfsd-1.4.2).
If this is the case, then we have a bug... I hadn't seen that case.
> How about _not_ resetting the timeout on a new lookup which is > not performed actually?
Agreed.
> Patch appended. -- Kurt Garloff <garloff@suse.de> Wuppertal, > FRG PGP2 key: See mail header, key servers Linux kernel > development SuSE GmbH, Nürnberg, FRG SCSI drivers: > tmscsim(DC390), DC395 [1.2 2210-nfs-dentry-timeout <text/plain; > us-ascii (quoted-printable)>] > --- linux/fs/nfs/dir.c.orig Sun Jul 4 23:12:23 1999 > +++ linux/fs/nfs/dir.c Thu Aug 5 18:50:11 1999 > @@ -438,7 +438,7 @@ > if (!inode) { > if (nfs_neg_need_reval(dentry)) > goto out_bad; > - goto out_valid; > + goto out_norenew; > } > if (is_bad_inode(inode)) { > @@ -491,6 +491,7 @@ > out_valid: > nfs_renew_times(dentry); > +out_norenew: > return 1; > out_bad: > if (dentry->d_parent->d_inode) Oops. That is against the 'ac' patches. I hadn't noticed that this was different from the stock linux-2.2.10 (and the NFSv3 patches). I think we can actually get away with the following instead... Cheers, Trond
--- linux-2.2.10-ac10/fs/nfs/dir.c-orig Sat Jul 17 18:57:40 1999 +++ linux-2.2.10-ac10/fs/nfs/dir.c Thu Aug 5 23:16:54 1999 @@ -490,7 +490,6 @@ nfs_refresh_inode(inode, &fattr); out_valid: - nfs_renew_times(dentry); return 1; out_bad: if (dentry->d_parent->d_inode) - 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/
| |