From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Craig Soules <soules@happyplace.pdl.cmu.edu>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>,
jrs@world.std.com, linux-kernel@vger.kernel.org
Subject: Re: NFS Client patch
Date: Mon, 9 Jul 2001 22:05:30 +0200 [thread overview]
Message-ID: <15178.3722.86802.671534@charged.uio.no> (raw)
In-Reply-To: <Pine.LNX.3.96L.1010709153516.16113R-100000@happyplace.pdl.cmu.edu>
In-Reply-To: <15177.65286.592796.329570@charged.uio.no> <Pine.LNX.3.96L.1010709153516.16113R-100000@happyplace.pdl.cmu.edu>
>>>>> " " == Craig Soules <soules@happyplace.pdl.cmu.edu> writes:
>> Your patch will automatically lead to duplicate entries in
>> readdir() on most if not all servers whenever the attributes on
>> the inode have been refreshed (whether or not the cache has
>> been invalidated). That's a bug...
> If I were to do a create during a readdir() operation which
> inserted itself in the directory before the place it left off,
> that entry would be left out of the listing. That is also a
> bug, wouldn't you think?
No: it's POSIX
If the client discovers that the cache is invalid, it clears it, and
refills the cache. We then start off at the next cookie after the last
read cookie. Test it on an ordinary filesystem and you'll see the
exact same behaviour. The act of creating or deleting files is *not*
supposed invalidate the readdir offset.
You are confusing the act of detecting whether or not the cache is
invalid with that of recovering after a cache invalidation. In the
former case we do have room for improvement: see for instance
http://www.fys.uio.no/~trondmy/src/2.4.6/linux-2.4.6-cto.dif
which strengthens the attribute checking on open().
Cheers,
Trond
next prev parent reply other threads:[~2001-07-09 20:05 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-09 17:28 NFS Client patch Craig Soules
2001-07-09 18:59 ` Trond Myklebust
2001-07-09 19:45 ` Craig Soules
2001-07-09 19:53 ` Charles Cazabon
2001-07-09 20:05 ` Trond Myklebust [this message]
2001-07-09 22:09 ` Craig Soules
2001-07-10 8:22 ` Trond Myklebust
2001-07-10 13:38 ` Chris Wedgwood
2001-07-11 8:14 ` Trond Myklebust
2001-07-09 21:46 ` J. Richard Sladkey
2001-07-10 15:06 ` Craig Soules
[not found] <Pine.LNX.3.96L.1010709131315.16113O-200000@happyplace.pdl.cmu.edu.suse.lists.linux.kernel>
2001-07-09 18:33 ` Andi Kleen
2001-07-10 13:33 ` Chris Wedgwood
2001-07-10 13:41 ` Andi Kleen
2001-07-10 16:48 ` Craig Soules
2001-07-10 17:06 ` Andi Kleen
2001-07-10 18:04 ` Chris Wedgwood
2001-07-12 20:57 ` Alan Cox
2001-07-13 11:26 ` Chris Wedgwood
2001-07-17 22:02 ` Hans Reiser
2001-07-17 22:14 ` Craig Soules
2001-07-17 22:21 ` Hans Reiser
2001-07-18 13:30 ` Daniel Phillips
2001-07-18 14:46 ` Hans Reiser
2001-07-18 14:00 ` Jan Harkes
2001-07-18 14:46 ` Hans Reiser
2001-07-19 18:24 ` Pavel Machek
2001-07-22 15:15 ` Rob Landley
2001-07-23 2:02 ` Horst von Brand
2001-07-23 9:57 ` Rob Landley
2001-07-18 13:57 ` Chris Mason
2001-07-19 11:35 ` Trond Myklebust
2001-07-19 18:02 ` Hans Reiser
2001-07-20 8:50 ` Trond Myklebust
2001-07-20 11:30 ` Hans Reiser
2001-07-20 14:07 ` Chris Mason
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=15178.3722.86802.671534@charged.uio.no \
--to=trond.myklebust@fys.uio.no \
--cc=jrs@world.std.com \
--cc=linux-kernel@vger.kernel.org \
--cc=soules@happyplace.pdl.cmu.edu \
/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