From: "Stephen C. Tweedie" <sct@redhat.com>
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: "Stephen C. Tweedie" <sct@redhat.com>,
Jeremy Fitzhardinge <jeremy@goop.org>,
Ext2 devel <ext2-devel@lists.sourceforge.net>,
NFS maillist <nfs@lists.sourceforge.net>,
Linux Kernel List <linux-kernel@vger.kernel.org>
Subject: Re: Re: [NFS] htree+NFS (NFS client bug?)
Date: Wed, 27 Nov 2002 20:55:54 +0000 [thread overview]
Message-ID: <20021127205554.J2948@redhat.com> (raw)
In-Reply-To: <15845.10815.450247.316196@charged.uio.no>; from trond.myklebust@fys.uio.no on Wed, Nov 27, 2002 at 09:25:35PM +0100
Hi,
On Wed, Nov 27, 2002 at 09:25:35PM +0100, Trond Myklebust wrote:
> >>>>> " " == Stephen C Tweedie <sct@redhat.com> writes:
> > So I suspect that this is a root a client problem --- the
> > client has repeated a READDIR despite being told that the
> > previous reply was EOF
> I disagree. As far as the client is concerned, it has just been asked
> to read the entry that corresponds to that particular cookie.
No, it hasn't --- at least not unless there has been a seekdir in
between. If the client has already been told that we're at EOF, then
it's wrong to go back to the server again for more data.
Having said that, the server is clearly in error in sending a
duplicate cookie in the first place, and if it did so we'd never get
into such a state.
> If
> glibc issued a new readdir request (which is what I suspect has
> happened here), the NFS client has no idea what the previous reply
> was
Well, glibc will *always* issue another readdir, because the only way
we can ever tell glibc that we're at EOF on the directory is when we
eventually return 0 from getdents. The question about client
behaviour is, if we've already been told that the stream is at EOF,
should the client simply discard that info and keep reading
regardless, or should it cache the EOF status?
> IOW: A cookie should *always* be unique. There are no exceptions to
> this rule.
Agreed.
--Stephen
-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T
handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
next prev parent reply other threads:[~2002-11-27 20:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-26 23:44 htree+NFS (NFS client bug?) Jeremy Fitzhardinge
2002-11-27 3:26 ` [NFS] " Trond Myklebust
2002-11-27 2:59 ` [Ext2-devel] " chrisl
2002-11-27 8:58 ` Jeremy Fitzhardinge
2002-11-27 15:00 ` Stephen C. Tweedie
2002-11-27 20:25 ` [Ext2-devel] " Trond Myklebust
2002-11-27 20:55 ` Stephen C. Tweedie [this message]
2002-11-27 22:44 ` Trond Myklebust
2002-11-28 16:41 ` Stephen C. Tweedie
2002-11-28 16:58 ` Trond Myklebust
2002-11-28 17:09 ` Stephen C. Tweedie
2002-11-28 17:57 ` Trond Myklebust
2002-11-28 16:44 ` Stephen C. Tweedie
2002-11-28 17:13 ` Stephen C. Tweedie
2002-11-28 17:44 ` Trond Myklebust
2002-11-28 20:00 ` [Ext2-devel] " Jeremy Fitzhardinge
2002-11-28 2:07 ` Jeremy Fitzhardinge
2002-11-28 2:46 ` Trond Myklebust
2002-11-27 13:33 ` Theodore Ts'o
2002-11-27 20:42 ` Trond Myklebust
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20021127205554.J2948@redhat.com \
--to=sct@redhat.com \
--cc=ext2-devel@lists.sourceforge.net \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nfs@lists.sourceforge.net \
--cc=trond.myklebust@fys.uio.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox