Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Oct 1998 13:15:21 -0700
From:      vanmaren@fast.cs.utah.edu (Kevin Van Maren)
To:        hackers@FreeBSD.ORG
Cc:        danderse@cs.cs.utah.edu, mike@fast.cs.utah.edu, sclawson@cs.cs.utah.edu
Subject:   Re:  nfs/amd hangs / getattr request flood problem
Message-ID:  <199810312015.NAA22131@fast.cs.utah.edu>

next in thread | raw e-mail | index | archive | help
I looked at this a bit more.

I am currently wondering about the comment in nfs/nfs_subs.c
nfs_getattrcache(), which says: "XXX n_mtime doesn't seem to be
updated on a miss-and-reload".  Peter added it in version 1.54,
when he redid much of this function.

Dumping the three numbers in the check, I get this:

        if ((time_second - np->n_attrstamp) >= timeo) {

                printf("%s: miss.  time_second=%d, n_attrstamp=%d, timeo=%d\n",
                        __FUNCTION__,time_second, np->n_attrstamp, timeo);

                nfsstats.attrcache_misses++;
                return (ENOENT);
        }

nfs_getattrcache: miss.  time_second=909863755, n_attrstamp=909863755, timeo=0
nfs_getattrcache: miss.  time_second=909863755, n_attrstamp=909863755, timeo=0
nfs_getattrcache: miss.  time_second=909863755, n_attrstamp=909863755, timeo=0
nfs_getattrcache: miss.  time_second=909863755, n_attrstamp=909863755, timeo=0
nfs_getattrcache: miss.  time_second=909863755, n_attrstamp=909863755, timeo=0

I then added a printf after the if(), and got a bunch of these:
nfs_getattrcache: hit.  time_second=909864329, n_attrstamp=909864319, timeo=60
nfs_getattrcache: hit.  time_second=909864329, n_attrstamp=909864319, timeo=60
nfs_getattrcache: hit.  time_second=909864329, n_attrstamp=909864319, timeo=60

So, the question then becomes, "why is the timeout set to 0"?  On all the
file/directories in the filesystem, it is set to 60.  However, the mount
point itself is being set to 0.  This results in a UDP message from the
kernel to amd, which then sends a UDP reply back to the kernel using its
info.

However, that brings us back to the comment...

Kevin

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810312015.NAA22131>