From: "bfields@fieldses.org" <bfields@fieldses.org>
To: Trond Myklebust <trondmy@hammerspace.com>
Cc: "chuck.lever@oracle.com" <chuck.lever@oracle.com>,
"jlayton@redhat.com" <jlayton@redhat.com>,
"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
"bfields@redhat.com" <bfields@redhat.com>,
"jlayton@poochiereds.net" <jlayton@poochiereds.net>
Subject: Re: [PATCH 0/3] Handling NFSv3 I/O errors in knfsd
Date: Tue, 27 Aug 2019 11:00:42 -0400 [thread overview]
Message-ID: <20190827150042.GD9804@fieldses.org> (raw)
In-Reply-To: <5e9d8bceb67d20f6e89f81cb7f2a4eca5e842bcf.camel@hammerspace.com>
On Tue, Aug 27, 2019 at 02:59:34PM +0000, Trond Myklebust wrote:
> On Tue, 2019-08-27 at 10:54 -0400, Bruce Fields wrote:
> > On Tue, Aug 27, 2019 at 09:59:25AM -0400, Chuck Lever wrote:
> > > The strategy of handling these errors more carefully seems good.
> > > Bumping the write/commit verifier so the client writes again to
> > > retrieve the latent error is clever!
> > >
> > > It's not clear to me though that the NFSv3 protocol can deal with
> > > the multi-client write scenario, since it is stateless. We are now
> > > making it stateful in some sense by preserving error state on the
> > > server across NFS requests, without having any sense of an open
> > > file in the protocol itself.
> > >
> > > Would an "approximation" without open state be good enough?
> >
> > I figure there's a correct-but-slow approach which is to increment
> > the
> > write verifier every time there's a write error. Does that work? If
> > write errors are rare enough, maybe it doesn't matter that that's
> > slow?
>
> How is that different from changing the boot verifier?
> Are you
> proposing to track write verifiers on a per-client basis? That seems
> onerous too.
Sorry, I thought "write verifier" and "boot verifier" were synonyms,
and, no, wasn't suggesting tracking it per-file.
--b.
> > Then there's various approximations you could use (IP address?) to
> > guess
> > when only one client's accessing the file. You save forcing all the
> > clients to resend writes at the expense of some complexity and
> > correctness--e.g., multiple clients behind NAT might not all get
> > write
> > errors.
> >
> > Am I thinking aobut this right?
>
> I agree that there are multiple problems with tracking on a per-client
> basis.
>
> --
> Trond Myklebust
> Linux NFS client maintainer, Hammerspace
> trond.myklebust@hammerspace.com
>
>
next prev parent reply other threads:[~2019-08-27 15:00 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-26 16:50 [PATCH 0/3] Handling NFSv3 I/O errors in knfsd Trond Myklebust
2019-08-26 16:50 ` [PATCH 1/3] nfsd: nfsd_file cache entries should be per net namespace Trond Myklebust
2019-08-26 16:50 ` [PATCH 2/3] nfsd: Support the server resetting the boot verifier Trond Myklebust
2019-08-26 16:50 ` [PATCH 3/3] nfsd: Don't garbage collect files that might contain write errors Trond Myklebust
2019-08-27 7:58 ` [PATCH 2/3] nfsd: Support the server resetting the boot verifier kbuild test robot
2019-08-26 20:51 ` [PATCH 0/3] Handling NFSv3 I/O errors in knfsd J. Bruce Fields
2019-08-26 21:02 ` Trond Myklebust
2019-08-27 0:48 ` bfields
2019-08-27 0:56 ` Trond Myklebust
2019-08-27 1:13 ` bfields
2019-08-27 1:28 ` Trond Myklebust
2019-08-27 13:59 ` Chuck Lever
2019-08-27 14:53 ` Trond Myklebust
2019-08-27 14:58 ` bfields
2019-08-27 14:59 ` bfields
2019-08-27 15:15 ` Trond Myklebust
2019-08-27 15:20 ` Chuck Lever
2019-08-28 13:48 ` bfields
2019-08-28 13:51 ` Jeff Layton
2019-08-28 13:57 ` Chuck Lever
2019-08-28 14:00 ` J. Bruce Fields
2019-08-28 14:03 ` Chuck Lever
2019-08-28 14:16 ` Jeff Layton
2019-08-28 14:21 ` Chuck Lever
2019-08-28 14:40 ` J. Bruce Fields
2019-08-28 14:48 ` Bruce Fields
2019-08-28 14:50 ` Chuck Lever
2019-08-28 17:07 ` Bruce Fields
2019-08-28 15:09 ` Jeff Layton
2019-08-28 15:12 ` Rick Macklem
2019-08-28 15:37 ` Trond Myklebust
2019-08-28 15:46 ` Bruce Fields
2019-08-27 14:54 ` Bruce Fields
2019-08-27 14:59 ` Trond Myklebust
2019-08-27 15:00 ` bfields [this message]
2019-08-27 15:17 ` Jeff Layton
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=20190827150042.GD9804@fieldses.org \
--to=bfields@fieldses.org \
--cc=bfields@redhat.com \
--cc=chuck.lever@oracle.com \
--cc=jlayton@poochiereds.net \
--cc=jlayton@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--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.