linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Fields Bruce James <bfields@fieldses.org>
To: Trond Myklebust <trondmy@primarydata.com>
Cc: Kornievskaia Olga <aglo@umich.edu>,
	"tibbs@math.uh.edu" <tibbs@math.uh.edu>,
	List Linux NFS Mailing <linux-nfs@vger.kernel.org>
Subject: Re: NFS: nfs4_reclaim_open_state: Lock reclaim failed! log spew
Date: Mon, 21 Nov 2016 13:37:57 -0500	[thread overview]
Message-ID: <20161121183757.GA7684@fieldses.org> (raw)
In-Reply-To: <08D8E478-40ED-4DA7-B4B3-865BD2E02FB5@primarydata.com>

On Fri, Nov 18, 2016 at 10:44:52PM +0000, Trond Myklebust wrote:
> 
> > On Nov 18, 2016, at 15:52, bfields@fieldses.org wrote:
> > 
> > On Thu, Nov 17, 2016 at 10:43:58PM +0000, Trond Myklebust wrote:
> >> On Thu, 2016-11-17 at 17:27 -0500, Olga Kornievskaia wrote:
> >>> On Thu, Nov 17, 2016 at 5:15 PM, Trond Myklebust
> >>> <trondmy@primarydata.com> wrote:
> >>>> What's the alternative? Assume the client pre-emptively bumps the
> >>>> seqid
> >>>> instead of retrying, then the user presses Ctrl-C again. Repeat a
> >>>> few
> >>>> more times. How do I now resync the seqids between the client and
> >>>> server other than by trashing the session?
> >>> 
> >>> I don't see any alternatives than to reset in that case. But I think
> >>> it's better then the possibility of accidentally opening a wrong
> >>> file?
> > 
> > Remind me why you can't continue resending after the Ctrl-C?  (I thought
> > this was already done for some lock and other cases?)
> 
> We’d have to do it for all RPC calls, which means they would all have to be converted to not use the stack. The resulting behaviour would also be confusing, as operations would complete outside of locking rules etc. So, for instance, you would be seeing successfully looked up files mysteriously disappearing as the asynchronous unlink() operation that was interrupted completes, or directories mysteriously getting renamed.

We get that anyway, since the server may already be processing the rpc.

I'll admit it sounds complicated.

> >> They sound equally bad to me which is why I'm not understanding how a
> >> server would fail to implement some minimal form of false retry
> >> checking.
> >> The Linux NFSv3 DRC will, for instance, checksum at least some part of
> >> the RPC arguments for _all_ RPC calls. Most NFSv4.x clients will only
> >> ask that you checksum the non-idempotent RPC calls, which significantly
> >> cuts down on the calculation overhead.
> > 
> > I'll look at adding checksumming, it shouldn't be hard.
> 
> Thanks.

I doubt it's a complete fix, though.  Two calls with the same arguments
aren't necessarily the same call either, and it's the sequence id that's
supposed to distinguish the "same call" and "different call with same
argument" cases.

--b.

      reply	other threads:[~2016-11-21 18:37 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-24 21:43 NFS: nfs4_reclaim_open_state: Lock reclaim failed! log spew Jason L Tibbitts III
2016-02-25 19:58 ` J. Bruce Fields
2016-02-29 23:06   ` Jason L Tibbitts III
2016-03-01  0:48     ` J. Bruce Fields
2016-03-01  0:53       ` Jason L Tibbitts III
2016-03-01  1:01         ` J. Bruce Fields
2016-03-01  1:03           ` Jason L Tibbitts III
2016-11-16 20:55             ` Jason L Tibbitts III
2016-11-17 16:31               ` J. Bruce Fields
2016-11-17 17:08                 ` Jason L Tibbitts III
2016-11-17 20:22                   ` Andrew W Elble
2016-11-17 17:45                 ` Trond Myklebust
2016-11-17 19:32                   ` bfields
2016-11-17 19:58                     ` Olga Kornievskaia
2016-11-17 20:17                       ` bfields
2016-11-17 20:29                         ` Olga Kornievskaia
2016-11-17 20:46                           ` bfields
2016-11-17 21:05                             ` Olga Kornievskaia
2016-11-17 21:26                               ` bfields
2016-11-17 21:45                                 ` Trond Myklebust
2016-11-17 21:53                                   ` Olga Kornievskaia
2016-11-17 22:15                                     ` Trond Myklebust
2016-11-17 22:27                                       ` Olga Kornievskaia
2016-11-17 22:43                                         ` Trond Myklebust
2016-11-18 20:52                                           ` bfields
2016-11-18 22:44                                             ` Trond Myklebust
2016-11-21 18:37                                               ` Fields Bruce James [this message]

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=20161121183757.GA7684@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=aglo@umich.edu \
    --cc=linux-nfs@vger.kernel.org \
    --cc=tibbs@math.uh.edu \
    --cc=trondmy@primarydata.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 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).