From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Simon Kirby <sim@hostway.ca>
Cc: linux-nfs@vger.kernel.org
Subject: Re: New file doesn't show up if cached as missing
Date: Fri, 29 May 2009 14:36:46 -0400 [thread overview]
Message-ID: <1243622206.7155.103.camel@heimdal.trondhjem.org> (raw)
In-Reply-To: <20090529175243.GA30961@hostway.ca>
On Fri, 2009-05-29 at 10:52 -0700, Simon Kirby wrote:
> Hello!
>
> On Linux 2.6.28.10 server and client, with NFSv3 or NFSv4, I can
> fairly easily reproduce a case where creating a file (open,write,close)
> and then attempting to open it on another client mounting the same server
> returns ENOENT. If I run "ls" before I try to cat it, it works.
>
> To reproduce:
>
> ssh root@lps01 'rm -f /shared/ssl/test; stat /shared/ssl/test'; \
> ssh root@lps02 'echo hi > /shared/ssl/test'; \
> ssh root@lps01 'cat /shared/ssl/test'
>
> The original stat (or cat or open) is important as it seems to cache that
> the file does not exist. I can then even log in and poke around:
>
> lps01:~# cd /shared
> lps01:/shared# cat test
> cat: test: No such file or directory
> lps01:/shared# stat test
> stat: cannot stat `test': No such file or directory
> lps01:/shared# ls test
> ls: test: No such file or directory
> lps01:/shared# ls
> <files including "test">
> lps01lsh:/shared# cat test
> hi
>
> Is this expected behaviour? The file system is mounted on both clients
> with: rw,hard,intr,...,acdirmin=0,acdirmax=0,acregmin=0,acregmax=0,noac
>
> (eg: we can't find a way to make it not happen.)
That is most likely to be a consequence of poor mtime resolution on the
server (i.e. the directory mtime failing to change because the file
creation occurred within < 1 second of the 'rm'), combined with negative
lookup caching.
Try using the '-olookupcache=positive' or '-olookupcache=none' mount
options (requires a relatively recent version of nfs-utils).
Trond
next prev parent reply other threads:[~2009-05-29 18:36 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-29 17:52 New file doesn't show up if cached as missing Simon Kirby
2009-05-29 18:36 ` Trond Myklebust [this message]
2009-05-29 22:04 ` Simon Kirby
2009-05-29 22:16 ` 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=1243622206.7155.103.camel@heimdal.trondhjem.org \
--to=trond.myklebust@fys.uio.no \
--cc=linux-nfs@vger.kernel.org \
--cc=sim@hostway.ca \
/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