lkml.org 
[lkml]   [1999]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
SubjectRe: 2.2.10-ac<x> / 2.2.11-pre<x> NFS client problem & bugfix
From
>>>>> " " == 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/

\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.045 / U:0.540 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site