Re: 2.2.10-ac<x> / 2.2.11-pre<x> NFS client problem & bugfix

Kurt Garloff (garloff@suse.de)
Thu, 5 Aug 1999 19:22:29 +0200


--s/l3CgOIzMHHjg/5
Content-Type: multipart/mixed; boundary=2fHTh5uZTiUOsy+g

--2fHTh5uZTiUOsy+g
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 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.
>=20
> 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).

How about _not_ resetting the timeout on a new lookup which is not performed
actually?

This would not flood the network with unecessary NFS_LOOKUP calls, but with
one every second, regardless whether in the meantime sb. made a cached neg.
dentry lookup or not.

Patch appended.
--=20
Kurt Garloff <garloff@suse.de> Wuppertal, FRG
PGP2 key: See mail header, key servers Linux kernel development
SuSE GmbH, N=FCrnberg, FRG SCSI drivers: tmscsim(DC390), DC395

--2fHTh5uZTiUOsy+g
Content-Type: text/plain; charset=us-ascii
Content-Description: 2210-nfs-dentry-timeout
Content-Disposition: attachment; filename=2210-nfs-dentry-timeout
Content-Transfer-Encoding: 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;
}
=20
if (is_bad_inode(inode)) {
@@ -491,6 +491,7 @@
=20
out_valid:
nfs_renew_times(dentry);
+out_norenew:
return 1;
out_bad:
if (dentry->d_parent->d_inode)

--2fHTh5uZTiUOsy+g--

--s/l3CgOIzMHHjg/5
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3in

iQCVAwUBN6nIVRaQN/7O/JIVAQHOJQP/ZVZeIfSJQZbCUmKCZ0ggCO0E29Ktoj5q
YOfeR+qRiVSdJRfOcqbQg1C1E+t/kPdv7RKatH1JwpAHigAkvuy+7tKFGLr9uCGr
41VHelWv6LuNAeo9gtL7WLbuhJ8b6kG5vx0/ipt/hp1i9c9kg6B9SVdBV9HcP4Lh
PiaO2DlFtxI=
=NFyN
-----END PGP SIGNATURE-----

--s/l3CgOIzMHHjg/5--

-
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/