All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ZenIV.linux.org.uk>
To: Neil Brown <neilb@suse.de>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>,
	Chuck Lever <chuck.lever@oracle.com>,
	linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] VFS: fix recent breakage of FS_REVAL_DOT
Date: Mon, 24 May 2010 12:59:03 +0100	[thread overview]
Message-ID: <20100524115903.GP31073@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20100524165756.2cfa54c4@notabene.brown>

On Mon, May 24, 2010 at 04:57:56PM +1000, Neil Brown wrote:
> 
> Commit 1f36f774b22a0ceb7dd33eca626746c81a97b6a5 broke FS_REVAL_DOT semantics.
> 
> In particular, before this patch, the command
>    ls -l
> in an NFS mounted directory would always check if the directory on the server
> had changed and if so would flush and refill the pagecache for the dir.
> After this patch, the same "ls -l" will repeatedly return stale date until
> the cached attributes for the directory time out.
> 
> The following patch fixes this by ensuring the d_revalidate is called by
> do_last when "." is being looked-up.
> link_path_walk has already called d_revalidate, but in that case LOOKUP_OPEN
> is not set so nfs_lookup_verify_inode chooses not to do any validation.
> 
> The following patch restores the original behaviour.
> 
> Cc: stable@kernel.org
> Signed-off-by: NeilBrown <neilb@suse.de>

Applied, but I really don't like the way you do it; note that e.g. foo/bar/.
gets that revalidation as well, for no good reason.  If anything, shouldn't
we handle that thing in the _beginning_ of pathname resolution, not in
the end?  For now it'd do, and it's a genuine regression, but...

BTW, here's a question for nfs client folks: is it true that for any two
pathnames on _client_ resolving to pairs (mnt1, dentry) and (mnt2, dentry)
resp., nfs_devname(mnt1, dentry, ...) and nfs_devname(mnt2, dentry, ...)
should yield the strings that do not differ past the ':' (i.e. that the
only possible difference is going to be in spelling the server name)?

  reply	other threads:[~2010-05-24 11:59 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-24  6:57 [PATCH] VFS: fix recent breakage of FS_REVAL_DOT Neil Brown
2010-05-24 11:59 ` Al Viro [this message]
2010-05-24 15:50   ` Al Viro
2010-05-24 16:21     ` Trond Myklebust
2010-05-24 16:47       ` Al Viro
2010-05-24 17:06         ` Trond Myklebust
2010-05-24 19:08           ` Al Viro
2010-05-24 21:13             ` Trond Myklebust
2010-05-24 23:01               ` Al Viro
2010-05-24 23:44                 ` Al Viro
2010-05-25 13:04                   ` Trond Myklebust
2010-05-25 12:57                 ` Trond Myklebust
2010-05-25  1:35         ` Neil Brown
2010-05-25  1:14   ` Neil Brown
2010-05-25  1:58     ` Al Viro
2010-05-26  2:52       ` Neil Brown

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=20100524115903.GP31073@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=chuck.lever@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.de \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.