From: "Myklebust, Trond" <Trond.Myklebust@netapp.com>
To: Bruce Fields <bfields@fieldses.org>
Cc: Jeff Layton <jlayton@redhat.com>,
Al Viro <viro@ZenIV.linux.org.uk>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"Linus Torvalds" <torvalds@linux-foundation.org>
Subject: Re: [RFC] F_SETLEASE mess
Date: Mon, 8 Jul 2013 20:14:05 +0000 [thread overview]
Message-ID: <1373314443.8612.0.camel@leira.trondhjem.org> (raw)
In-Reply-To: <20130708193409.GF29071@fieldses.org>
On Mon, 2013-07-08 at 15:34 -0400, Bruce Fields wrote:
> On Mon, Jul 08, 2013 at 07:21:37PM +0000, Myklebust, Trond wrote:
> > On Mon, 2013-07-08 at 14:53 -0400, Bruce Fields wrote:
> > > On Mon, Jul 08, 2013 at 06:10:40PM +0000, Myklebust, Trond wrote:
> > > > On Mon, 2013-07-08 at 10:17 -0400, Bruce Fields wrote:
> > > > > On Fri, Jul 05, 2013 at 05:46:19PM -0400, Jeff Layton wrote:
> > > > > > I think the bigger issue though is that looking at refcounts in order to
> > > > > > determine when we have a conflicting open is just plain wrong. There are
> > > > > > all sorts of reasons one might see a raised refcount that don't involve
> > > > > > conflicting opens (Al's stat() example for instance). It seems like we
> > > > > > ought to shoot for a solution that doesn't rely (solely) on inode and
> > > > > > dentry refcounts.
> > > > >
> > > > > Note that NFSv4 write delegations will need to affect stat as well.
> > > > > (Once you let a client perform writes locally, that client becomes the
> > > > > authority on the attributes, so we have to call back to it on stat.)
> > > >
> > > > Umm... Yes, but are we ever really going to want to implement that part
> > > > of the spec? All the client can tell you is 'this file is dirty' and/or
> > > > it can tell you that a size change has occurred.
> > > >
> > > > It's cute that the protocol allows you to do this, but it's not
> > > > particularly practical.
> > >
> > > If we don't take some sort of action on stat then I don't see how to
> > > avoid e.g. breaking "make".
> >
> > We already cache writes without breaking "make". Why do you think the
> > presence of a delegation must necessarily change everything?
>
> As long as it holds a write delegation a client can delay updating data
> or attributes arbitrarily--so if the server continues to return the old
> attributes then e.g. "make" could fail to notice an update even long
> after no application on any client is accessing the file any more.
>
> Could you explain what I'm missing?
An explanation for why the client would want to do this.
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust@netapp.com
www.netapp.com
next prev parent reply other threads:[~2013-07-08 20:14 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-05 9:04 [RFC] F_SETLEASE mess Al Viro
2013-07-05 10:51 ` Jeff Layton
2013-07-05 12:08 ` Jeff Layton
2013-07-05 16:25 ` Bruce Fields
2013-07-05 21:46 ` Jeff Layton
2013-07-08 14:17 ` Bruce Fields
2013-07-08 14:33 ` Jeff Layton
2013-07-08 18:10 ` Myklebust, Trond
2013-07-08 18:53 ` Bruce Fields
2013-07-08 19:21 ` Myklebust, Trond
2013-07-08 19:34 ` Bruce Fields
2013-07-08 20:14 ` Myklebust, Trond [this message]
2013-07-08 21:17 ` Bruce Fields
2013-07-08 22:25 ` Myklebust, Trond
2013-07-08 23:19 ` Bruce Fields
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=1373314443.8612.0.camel@leira.trondhjem.org \
--to=trond.myklebust@netapp.com \
--cc=bfields@fieldses.org \
--cc=jlayton@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@ZenIV.linux.org.uk \
/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;
as well as URLs for NNTP newsgroup(s).