public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
* [pynfs PATCH] TESTS: fix DELEG9
@ 2010-09-14  1:06 J. Bruce Fields
  2010-09-14  1:08 ` J. Bruce Fields
  0 siblings, 1 reply; 2+ messages in thread
From: J. Bruce Fields @ 2010-09-14  1:06 UTC (permalink / raw)
  To: iisaman; +Cc: linux-nfs

From: J. Bruce Fields <bfields@redhat.com>

The new server doesn't have a recall callback setup, so will never send
the delegreturn.  (Doing it by hand at the end as attempted here doesn't
work well, as the open that precedes that final delegreturn needs the
delegreturn before it can succeed.)

Also, we need to set c.cb_server for _verify_cb_occurred to get the
correct count.

After this patch, the test passes against the Linux server.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
---
 lib/nfs4/servertests/st_delegation.py |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/nfs4/servertests/st_delegation.py b/lib/nfs4/servertests/st_delegation.py
index 5fc4fad..14a1d32 100644
--- a/lib/nfs4/servertests/st_delegation.py
+++ b/lib/nfs4/servertests/st_delegation.py
@@ -396,9 +396,11 @@ def testChangeDeleg(t, env, funct=_recall):
     deleg_info, fh, stateid = _get_deleg(t, c, c.homedir + [t.code], funct, NFS4_OK)
     # Create new callback server
     new_server = CBServer(c)
+    new_server.set_cb_recall(c.cbid, funct, NFS4_OK);
     cb_thread = threading.Thread(target=new_server.run)
     cb_thread.setDaemon(1)
     cb_thread.start()
+    c.cb_server = new_server
     env.sleep(3)
     # Switch to using new server
     res = c.compound([_set_clientid(c, id, new_server)])
@@ -415,9 +417,6 @@ def testChangeDeleg(t, env, funct=_recall):
     count = new_server.opcounts[OP_CB_RECALL]
     fh2, stateid2 = _cause_recall(t, env)
     _verify_cb_occurred(t, c, count)
-    ops = c.use_obj(fh) + [c.delegreturn_op(deleg_info.read.stateid)]
-    res = c.compound(ops)
-    check(res)
 
 
    
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [pynfs PATCH] TESTS: fix DELEG9
  2010-09-14  1:06 [pynfs PATCH] TESTS: fix DELEG9 J. Bruce Fields
@ 2010-09-14  1:08 ` J. Bruce Fields
  0 siblings, 0 replies; 2+ messages in thread
From: J. Bruce Fields @ 2010-09-14  1:08 UTC (permalink / raw)
  To: iisaman; +Cc: linux-nfs

On Mon, Sep 13, 2010 at 09:06:30PM -0400, bfields wrote:
> From: J. Bruce Fields <bfields@redhat.com>
> 
> The new server doesn't have a recall callback setup, so will never send
> the delegreturn.  (Doing it by hand at the end as attempted here doesn't
> work well, as the open that precedes that final delegreturn needs the
> delegreturn before it can succeed.)
> 
> Also, we need to set c.cb_server for _verify_cb_occurred to get the
> correct count.
> 
> After this patch, the test passes against the Linux server.

This patch, plus the other fixes I need to get usable results against
the Linux server, are also available from

	git://linux-nfs.org/~bfields/pynfs.git

(and, for 4.1, at:

	git://linux-nfs.org/~bfields/pynfs41.git

).

--b.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-09-14  1:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-14  1:06 [pynfs PATCH] TESTS: fix DELEG9 J. Bruce Fields
2010-09-14  1:08 ` J. Bruce Fields

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox