All of lore.kernel.org
 help / color / mirror / Atom feed
From: "bfields@fieldses.org" <bfields@fieldses.org>
To: Trond Myklebust <trondmy@hammerspace.com>
Cc: "neilb@suse.de" <neilb@suse.de>,
	"plambri@redhat.com" <plambri@redhat.com>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"bcodding@redhat.com" <bcodding@redhat.com>
Subject: Re: cto changes for v4 atomic open
Date: Tue, 3 Aug 2021 21:16:26 -0400	[thread overview]
Message-ID: <20210804011626.GA19848@fieldses.org> (raw)
In-Reply-To: <ea79c8676bea627bb78c57e33199229e3cf27a9c.camel@hammerspace.com>

On Wed, Aug 04, 2021 at 01:03:58AM +0000, Trond Myklebust wrote:
> On Wed, 2021-08-04 at 10:57 +1000, NeilBrown wrote:
> > On Wed, 04 Aug 2021, Trond Myklebust wrote:
> > > 
> > > No. What you propose is to optimise for a fringe case, which we
> > > cannot
> > > guarantee will work anyway. I'd much rather optimise for the common
> > > case, which is the only case with predictable semantics.
> > > 
> > 
> > "predictable"??
> > 
> > As I understand it (I haven't examined the code) the current
> > semantics
> > includes:
> >  If a file is open for read, some other client changed the file, and
> > the
> >   file is then opened, then the second open might see new data, or
> > might
> >   see old data, depending on whether the requested data is still in
> >   cache or not.
> > 
> > I find this to be less predictable than the easy-to-understand
> > semantics
> > that Bruce has quoted:
> >   - revalidate on every open, flush on every close
> > 
> > I'm suggesting we optimize for fringe cases, I'm suggesting we
> > provide
> > semantics that are simple, documentated, and predictable.
> > 
> 
> "Predictable" how?
> 
> This is cached I/O. By definition, it is allowed to do things like
> readahead, writeback caching, metadata caching. What you're proposing
> is to optimise for a case that breaks all of the above. What's the
> point? We might just as well throw in the towel and just make uncached
> I/O and 'noac' mounts the default.

It's possible to revalidate on every open and also still do readahead,
writeback caching, and metadata caching.

--b.

  reply	other threads:[~2021-08-04  1:16 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-30 13:25 cto changes for v4 atomic open Benjamin Coddington
2021-07-30 14:48 ` Trond Myklebust
2021-07-30 15:14   ` Benjamin Coddington
2021-08-03 20:30   ` J. Bruce Fields
2021-08-03 21:07     ` Trond Myklebust
2021-08-03 21:36       ` bfields
2021-08-03 21:43         ` Trond Myklebust
2021-08-03 23:47           ` NeilBrown
2021-08-04  0:00             ` Trond Myklebust
2021-08-04  0:04               ` Trond Myklebust
2021-08-04  0:57               ` NeilBrown
2021-08-04  1:03                 ` Trond Myklebust
2021-08-04  1:16                   ` bfields [this message]
2021-08-04  1:25                     ` Trond Myklebust
2021-08-04  1:30                   ` NeilBrown
2021-08-04  1:38                     ` Trond Myklebust
2021-08-09  4:20                       ` NeilBrown
2021-08-09 14:22                         ` Trond Myklebust
2021-08-09 14:43                           ` Chuck Lever III
2021-08-04  1:43         ` Matt Benjamin
2021-08-04  1:51           ` Matt Benjamin
2021-08-04  2:10             ` Trond Myklebust
2021-08-04 14:49               ` Patrick Goetz
2021-08-04 15:42                 ` Rick Macklem
2021-08-04 18:24                 ` Anna Schumaker
2021-08-06 18:58                   ` Patrick Goetz
2021-08-07  1:03                     ` Rick Macklem
2021-08-04 18:33               ` Matt Benjamin

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=20210804011626.GA19848@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=bcodding@redhat.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=plambri@redhat.com \
    --cc=trondmy@hammerspace.com \
    /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.