All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Thomas Haynes <loghyr@primarydata.com>
Cc: Mailing List Linux NFS <linux-nfs@vger.kernel.org>,
	"nfsv4@ietf.org" <nfsv4@ietf.org>
Subject: Re: pynfs replay cache test SEQ9f
Date: Thu, 12 Oct 2017 15:49:46 -0400	[thread overview]
Message-ID: <20171012194946.GC5233@fieldses.org> (raw)
In-Reply-To: <E0161195-9F4A-4B36-A71D-6A924498C893@primarydata.com>

On Thu, Oct 12, 2017 at 06:32:09PM +0000, Thomas Haynes wrote:
> Hi Bruce,
> 
> In this test:
> 
> def testReplayCache006(t, env):
>    """Send two solo sequence compounds with same seqid
> 
>    FLAGS: sequence all
>    CODE: SEQ9f
>    """
>    c = env.c1.new_client(env.testname(t))
>    sess = c.create_session()
>    res1 = sess.compound([])
>    check(res1)
>    res2 = sess.compound([], cache_this=True, seq_delta=0)
>    check(res2)
>    res1.tag = res2.tag = ""
>    if not nfs4lib.test_equal(res1, res2):
>        fail("Replay results not equal")
> 
> I don't see why the result should be NFS4_OK.
> 
> The first compound does not set sa_cachethis and the second
> does set it. According to RFC5661, the server is not required
> to cache the first request if the client does not request it.
> 
> And if the server does not cache the response, when it gets
> a request to replay it, it can return NFS4ERR_RETRY_UNCACHED_REP:

If I'm reading that section correctly, it can't return
NFS4ERR_RETRY_UNCACHED_REP, that can only be returned on the next op of
the compound (and there is no next op in this case, only the one
SEQUENCE).

So I *think* the only correct options OK or FALSE_RETRY?

> I'm not sure if the test should be fixed to either
> 
> 1) allow either NFS4_OK or NFS4ERR_RETRY_UNCACHED_REP
> 2) just remove the test.

Maybe just add cache_this to the first?

Looks like the following test is off too--I think a server's allowed to
return a cached reply instead of RETRY_UNCACHED_REP?

--b.

  parent reply	other threads:[~2017-10-12 19:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-11 16:48 [PATCH] Args need to be the same for replay cache Thomas Haynes
2017-10-12 18:32 ` pynfs replay cache test SEQ9f Thomas Haynes
2017-10-12 19:30   ` Trond Myklebust
2017-10-12 19:49   ` J. Bruce Fields [this message]
2017-10-12 21:39     ` [nfsv4] " Thomas Haynes
2017-10-12 21:44       ` J. Bruce Fields
2017-10-12 22:00         ` Tom Haynes
2017-10-13  1:52           ` J. Bruce Fields
2017-10-13 13:34             ` Trond Myklebust
2017-10-13 15:00               ` bfields
2017-10-13 15:26                 ` Trond Myklebust
2017-10-13 18:50                   ` bfields
2017-10-13 20:19                     ` bfields
2017-10-17 21:31                     ` bfields
2017-10-16 16:15                   ` [nfsv4] " Frank Filz
2018-04-10 19:49 ` [PATCH] Args need to be the same for replay cache J. Bruce Fields
2018-04-24 20:10   ` Olga Kornievskaia
2018-04-24 22:16     ` J. 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=20171012194946.GC5233@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=loghyr@primarydata.com \
    --cc=nfsv4@ietf.org \
    /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.