diff mbox series

[2/2] DELEG21: Return delegations so clean_diff() works

Message ID 165971594611.1762917.16737275128372470606.stgit@morisot.1015granger.net (mailing list archive)
State New, archived
Headers show
Series [1/2] DELEG6: Return delegations so clean_diff() works | expand

Commit Message

Chuck Lever Aug. 5, 2022, 4:12 p.m. UTC
WARNING: could not clean testdir due to:
Making sure b'DELEG21-1' is writable: operation OP_SETATTR should return NFS4_OK, instead got NFS4ERR_DELAY

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
 nfs4.0/servertests/st_delegation.py |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

J. Bruce Fields Aug. 7, 2022, 8:18 p.m. UTC | #1
On Fri, Aug 05, 2022 at 12:12:26PM -0400, Chuck Lever wrote:
> WARNING: could not clean testdir due to:
> Making sure b'DELEG21-1' is writable: operation OP_SETATTR should return NFS4_OK, instead got NFS4ERR_DELAY

Thanks, both applied.--b.

> 
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
>  nfs4.0/servertests/st_delegation.py |    6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/nfs4.0/servertests/st_delegation.py b/nfs4.0/servertests/st_delegation.py
> index ff042cdb69a8..9c98ec0e0fb3 100644
> --- a/nfs4.0/servertests/st_delegation.py
> +++ b/nfs4.0/servertests/st_delegation.py
> @@ -731,7 +731,7 @@ def testServerSelfConflict(t, env):
>      c = env.c1
>      count = c.cb_server.opcounts[OP_CB_RECALL]
>      c.init_connection(b'pynfs%i_%s' % (os.getpid(), t.word()), cb_ident=0)
> -    _get_deleg(t, c, c.homedir + [t.word()], None, NFS4_OK)
> +    deleg_info, fh, stateid = _get_deleg(t, c, c.homedir + [t.word()], None, NFS4_OK)
>  
>      sleeptime = 1
>      while 1:
> @@ -746,6 +746,10 @@ def testServerSelfConflict(t, env):
>          check(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall")
>          env.sleep(sleeptime, 'Got NFS4ERR_DELAY on open')
>      c.confirm(b'newowner', res)
> +    res = c.compound([op.putfh(fh), op.delegreturn(deleg_info.read.stateid)])
> +    check(res)
> +    res = c.close_file(t.word(), fh, stateid)
> +    check(res)
>      newcount = c.cb_server.opcounts[OP_CB_RECALL]
>      if newcount > count:
>          t.fail("Unnecessary delegation recall")
>
diff mbox series

Patch

diff --git a/nfs4.0/servertests/st_delegation.py b/nfs4.0/servertests/st_delegation.py
index ff042cdb69a8..9c98ec0e0fb3 100644
--- a/nfs4.0/servertests/st_delegation.py
+++ b/nfs4.0/servertests/st_delegation.py
@@ -731,7 +731,7 @@  def testServerSelfConflict(t, env):
     c = env.c1
     count = c.cb_server.opcounts[OP_CB_RECALL]
     c.init_connection(b'pynfs%i_%s' % (os.getpid(), t.word()), cb_ident=0)
-    _get_deleg(t, c, c.homedir + [t.word()], None, NFS4_OK)
+    deleg_info, fh, stateid = _get_deleg(t, c, c.homedir + [t.word()], None, NFS4_OK)
 
     sleeptime = 1
     while 1:
@@ -746,6 +746,10 @@  def testServerSelfConflict(t, env):
         check(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall")
         env.sleep(sleeptime, 'Got NFS4ERR_DELAY on open')
     c.confirm(b'newowner', res)
+    res = c.compound([op.putfh(fh), op.delegreturn(deleg_info.read.stateid)])
+    check(res)
+    res = c.close_file(t.word(), fh, stateid)
+    check(res)
     newcount = c.cb_server.opcounts[OP_CB_RECALL]
     if newcount > count:
         t.fail("Unnecessary delegation recall")