From: "J. Bruce Fields" <bfields@fieldses.org>
To: Olga Kornievskaia <aglo@umich.edu>
Cc: Trond Myklebust <trond.myklebust@primarydata.com>,
"J. Bruce Fields" <bfields@redhat.com>,
Anna Schumaker <anna.schumaker@netapp.com>,
linux-nfs <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v2] NFSv4.1: Fix up replays of interrupted requests
Date: Wed, 18 Oct 2017 17:23:29 -0400 [thread overview]
Message-ID: <20171018212329.GA29604@fieldses.org> (raw)
In-Reply-To: <20171016183623.GB12608@fieldses.org>
On Mon, Oct 16, 2017 at 02:36:23PM -0400, bfields wrote:
> On Mon, Oct 16, 2017 at 01:07:57PM -0400, Olga Kornievskaia wrote:
> > Network trace reveals that server is not working properly (thus
> > getting Bruce's attention here).
> >
> > Skipping ahead, the server replies to a SEQUENCE call with a reply
> > that has a count=5 operations but only has a sequence in it.
> >
> > The flow of steps is the following.
> >
> > Client sends
> > call COPY seq=16 slot=0 highslot=1(application at this point receives
> > a ctrl-c so it'll go ahead and close 2files it has opened)
>
> Is cachethis set on that the SEQUENCE op in that copy compound?
>
> > call CLOSE seq=1 slot=1 highslot=1
> > call SEQUENCE seq=16 slot=0 highslot=1
> > reply CLOSE OK
> > reply SEQUENCE ERR_DELAY
> > another call CLOSE seq=2 slot=1 and successful reply
> > reply COPY ..
> > call SEQUENCE seq=16 slot=0 highslot=0
> > reply SEQUENCE opcount=5
>
> And that's the whole reply?
>
> Do you have a binary capture that I could look at?
Thanks, yes, the client behavior is arguably out of spec (it's sending a
"retry" that doesn't match the original call), but I understand why it's
doing this, and clearly responding with a corrupted reply isn't right.
(And probably the client can deal with any reply short of one that's
actually corrupted.) Do the following patches help? (Actually I think
either one on its own should do the job, but I haven't done much
testing.)
--b.
next prev parent reply other threads:[~2017-10-18 21:23 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-11 17:07 [PATCH v2] NFSv4.1: Fix up replays of interrupted requests Trond Myklebust
2017-10-16 16:37 ` Olga Kornievskaia
2017-10-16 17:07 ` Olga Kornievskaia
2017-10-16 18:36 ` J. Bruce Fields
2017-10-16 19:20 ` Olga Kornievskaia
2017-10-18 21:23 ` J. Bruce Fields [this message]
2017-10-19 17:07 ` Olga Kornievskaia
2017-10-18 21:25 ` [PATCH 1/2] nfsd4: fix cached replies to solo SEQUENCE compounds J. Bruce Fields
2017-10-18 21:25 ` [PATCH 2/2] nfsd4: catch some false session retries J. Bruce Fields
2017-10-19 17:21 ` [PATCH 1/2] nfsd4: fix cached replies to solo SEQUENCE compounds Olga Kornievskaia
2017-10-19 18:17 ` J. Bruce Fields
2017-10-19 18:34 ` Olga Kornievskaia
2017-10-19 20:20 ` J. Bruce Fields
2017-10-19 21:04 ` Olga Kornievskaia
2017-10-19 21:19 ` Olga Kornievskaia
2017-10-20 17:47 ` J. Bruce Fields
2017-10-20 18:55 ` Olga Kornievskaia
2017-10-20 20:44 ` J. Bruce Fields
2017-10-19 18:33 ` [PATCH v2] NFSv4.1: Fix up replays of interrupted requests Olga Kornievskaia
2017-10-19 18:52 ` Trond Myklebust
2018-05-22 21:28 ` Olga Kornievskaia
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=20171018212329.GA29604@fieldses.org \
--to=bfields@fieldses.org \
--cc=aglo@umich.edu \
--cc=anna.schumaker@netapp.com \
--cc=bfields@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@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 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.