All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] SEQ_FALSE_RETRY is allowed for a solo SEQUENCE replay
@ 2025-10-07 20:48 Chuck Lever
  0 siblings, 0 replies; only message in thread
From: Chuck Lever @ 2025-10-07 20:48 UTC (permalink / raw)
  To: Calum Mackay; +Cc: linux-nfs, Chuck Lever

From: Chuck Lever <chuck.lever@oracle.com>

RFC 8881 Section 2.10.6.1.3 appears to permit servers to reply
with NFS4ERR_SEQ_FALSE_RETRY for a replayed solo SEQUENCE. Update
the test to allow it to pass in that case.

See also commit d4604ee1fdf1 ("SEQ9f: make sure replied SEQUENCE is
really the same").

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
 nfs4.1/server41tests/st_sequence.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/nfs4.1/server41tests/st_sequence.py b/nfs4.1/server41tests/st_sequence.py
index 9be1096b9e8e..759fcd2b8d78 100644
--- a/nfs4.1/server41tests/st_sequence.py
+++ b/nfs4.1/server41tests/st_sequence.py
@@ -209,10 +209,11 @@ def testReplayCache006(t, env):
     res1 = sess.compound([], cache_this=True)
     check(res1)
     res2 = sess.compound([], cache_this=True, seq_delta=0)
-    check(res2)
+    check(res2, [NFS4_OK, NFS4ERR_SEQ_FALSE_RETRY])
     res1.tag = res2.tag = b""
-    if not nfs4lib.test_equal(res1, res2):
-        fail("Replay results not equal")
+    if res2.status == NFS4_OK:
+        if not nfs4lib.test_equal(res1, res2):
+            fail("Replay results not equal")
 
 def testReplayCache007(t, env):
     """Send two successful non-idempotent compounds with same seqid and False cache_this
-- 
2.51.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2025-10-07 20:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-07 20:48 [PATCH] SEQ_FALSE_RETRY is allowed for a solo SEQUENCE replay Chuck Lever

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.