All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mi Jinlong <mijinlong@cn.fujitsu.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: NFS <linux-nfs@vger.kernel.org>
Subject: [PATCH v2 4/5] CLNT: test lock before RECLAIM_COMPLETE
Date: Mon, 28 Mar 2011 17:00:05 +0800	[thread overview]
Message-ID: <4D904E15.9030401@cn.fujitsu.com> (raw)
In-Reply-To: <4D904BEB.1060101@cn.fujitsu.com>

Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com>
---
 nfs4.1/server41tests/st_reclaim_complete.py |   37 +++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/nfs4.1/server41tests/st_reclaim_complete.py b/nfs4.1/server41tests/st_reclaim_complete.py
index 4c9fc37..c712d0e 100644
--- a/nfs4.1/server41tests/st_reclaim_complete.py
+++ b/nfs4.1/server41tests/st_reclaim_complete.py
@@ -70,3 +70,40 @@ def testReclaimAfterRECC(t, env):
     res = sess.compound([op.putfh(cfh), op.lock(READ_LT, TRUE, 0, 1, lowner)])
     check(res, NFS4ERR_NO_GRACE)
     sess.destroy()
+
+def testLockBeforeRECC(t, env):
+    """After a client establishes a new client ID, if non-reclaim
+       locking operations are done before the RECLAIM_COMPLETE,
+       error NFS4ERR_GRACE will be returned. rfc5661 18.51.3
+
+    FLAGS: reclaim_complete all
+    CODE: RECC3
+    """
+    name = env.testname(t)
+    c = env.c1.new_client(name)
+    sess = c.create_session()
+
+    fname = "owner_%s" % name
+    path = sess.c.homedir + [name]
+    res = create_file(sess, fname, path, access=OPEN4_SHARE_ACCESS_BOTH)
+    check(res)
+
+    # Get stateid from OPEN4resok for making a lockowner
+    nres = opt_result(res, OP_OPEN)
+    if nres == None:
+        fail("Can not get OPEN4resok!")
+    oseqid = nres.stateid
+
+    owner = open_owner4(0, "My Open Owner")
+    otlowner = open_to_lock_owner4(0, oseqid, 0, owner)
+    lowner = locker4(TRUE, otlowner)
+
+    # Get filehandle from GETFHresok for locking
+    nres = opt_result(res, OP_GETFH)
+    if nres == None:
+        fail("Can not get GETFHresok!")
+    cfh = nres.object
+
+    res = sess.compound([op.putfh(cfh), op.lock(READ_LT, FALSE, 0, 1, lowner)])
+    check(res, NFS4ERR_NO_GRACE)
+    sess.destroy()
-- 
1.7.4.1




  parent reply	other threads:[~2011-03-28  8:58 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-02  6:23 [PATCH 00/17] add some test case for pynfs41 Mi Jinlong
2011-03-02  6:26 ` [PATCH 01/17] CLNT: check NFS4ERR_NOT_ONLY_OP for CREATE_SESSION Mi Jinlong
2011-03-03  5:57   ` J. Bruce Fields
2011-03-02  6:27 ` [PATCH 02/17] CLNT: test lease period of unconfirmed record Mi Jinlong
2011-03-02  6:28   ` [PATCH 03/17] CLNT: check the csr_sequence at CREATE_SESSION Mi Jinlong
2011-03-03  6:02   ` [PATCH 02/17] CLNT: test lease period of unconfirmed record J. Bruce Fields
2011-03-03  9:07     ` Mi Jinlong
2011-03-09  1:29       ` J. Bruce Fields
2011-03-09  1:43         ` Mi Jinlong
2011-03-02  6:29 ` [PATCH 04/17] CLNT: test with ca_maxresponsesize is too small Mi Jinlong
2011-03-02  6:29 ` [PATCH 05/17] CLNT: test reply too big Mi Jinlong
2011-03-02  6:30 ` [PATCH 06/17] CLNT: test reply too big to cache Mi Jinlong
2011-03-02  6:31 ` [PATCH 07/17] CLNT: test operation not in session Mi Jinlong
2011-03-02  6:31 ` [PATCH 08/17] CLNT: test the sessionid, slotid and sequenceid for SEQUENCE Mi Jinlong
2011-03-02  6:32 ` [PATCH 09/17] CLNT: test Bad Sequenceid At Slot Mi Jinlong
2011-03-02  6:33 ` [PATCH 10/17] CLNT: test resues slot ID Mi Jinlong
2011-03-03  6:14   ` J. Bruce Fields
2011-03-03  9:11     ` Mi Jinlong
2011-03-03 14:51       ` J. Bruce Fields
2011-03-04  9:06       ` Mi Jinlong
2011-03-14 18:41         ` J. Bruce Fields
2011-03-14 19:24           ` J. Bruce Fields
2011-03-15  2:47             ` Mi Jinlong
2011-03-17 22:52               ` J. Bruce Fields
2011-03-22  9:44                 ` Mi Jinlong
2011-03-22 21:48                   ` J. Bruce Fields
2011-03-23  9:41                     ` Mi Jinlong
2011-03-02  6:33 ` [PATCH 11/17] CLNT: DESTROY_SESSION not the fianl operation Mi Jinlong
2011-03-02  6:34 ` [PATCH 12/17] CLNT: test DESTROY_SESSION not the sole operation Mi Jinlong
2011-03-02  6:34 ` [PATCH 13/17] CLNT: add a simple test about RECLAIM_COMPLETE Mi Jinlong
2011-03-02  6:35 ` [PATCH 14/17] CLNT: test reclaim after RECLAIM_COMPLETE Mi Jinlong
2011-03-02  6:36 ` [PATCH 15/17] CLNT: test lock before RECLAIM_COMPLETE Mi Jinlong
2011-03-14 19:27   ` J. Bruce Fields
2011-03-15  3:06     ` Mi Jinlong
2011-03-17 22:54       ` J. Bruce Fields
2011-03-02  6:36 ` [PATCH 16/17] CLNT: test double RECLAIM_COMPLETE after create session Mi Jinlong
2011-03-02  6:37 ` [PATCH 17/17] CLNT: test EXCLUSIVE4_1 for different verifier Mi Jinlong
2011-03-03  5:56 ` [PATCH 00/17] add some test case for pynfs41 J. Bruce Fields
2011-03-28  8:50 ` [PATCH 0/5] a pynfs41 problem and some tests about RECLAIM_COMPLETE Mi Jinlong
2011-03-28  8:57   ` [PATCH 1/5] CLNT: try to destroy session after test complete Mi Jinlong
2011-04-19 15:20     ` J. Bruce Fields
2011-04-20  9:33       ` Mi Jinlong
2011-03-28  8:59   ` [PATCH v2 2/5] CLNT: add a simple test about RECLAIM_COMPLETE Mi Jinlong
2011-03-28  8:59   ` [PATCH v2 3/5] CLNT: test reclaim after RECLAIM_COMPLETE Mi Jinlong
2011-04-19 22:49     ` J. Bruce Fields
2011-03-28  9:00   ` Mi Jinlong [this message]
2011-03-28  9:00   ` [PATCH v2 5/5] CLNT: test double RECLAIM_COMPLETE after create session Mi Jinlong
2011-04-19 22:51   ` [PATCH 0/5] a pynfs41 problem and some tests about RECLAIM_COMPLETE 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=4D904E15.9030401@cn.fujitsu.com \
    --to=mijinlong@cn.fujitsu.com \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.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.