From: "J. Bruce Fields" <bfields@fieldses.org>
To: Mi Jinlong <mijinlong@cn.fujitsu.com>
Cc: NFS <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH 02/17] CLNT: test lease period of unconfirmed record
Date: Tue, 8 Mar 2011 20:29:42 -0500 [thread overview]
Message-ID: <20110309012942.GE15814@fieldses.org> (raw)
In-Reply-To: <4D6F5A3D.6050000@cn.fujitsu.com>
On Thu, Mar 03, 2011 at 05:07:09PM +0800, Mi Jinlong wrote:
>
>
> J. Bruce Fields :
> > On Wed, Mar 02, 2011 at 02:27:22PM +0800, Mi Jinlong wrote:
> >> Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com>
> >> ---
> >> nfs4.1/server41tests/st_exchange_id.py | 26 ++++++++++++++++++++++++++
> >> 1 files changed, 26 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/nfs4.1/server41tests/st_exchange_id.py b/nfs4.1/server41tests/st_exchange_id.py
> >> index b5e34e6..85f3092 100644
> >> --- a/nfs4.1/server41tests/st_exchange_id.py
> >> +++ b/nfs4.1/server41tests/st_exchange_id.py
> >> @@ -1,5 +1,6 @@
> >> from nfs4_const import *
> >> import nfs4_ops as op
> >> +import time
> >> from environment import check, fail
> >> from nfs4_type import *
> >> from rpc import RPCAcceptError, GARBAGE_ARGS, RPCTimeout
> >> @@ -436,3 +437,28 @@ def testNotOnlyOp(t, env):
> >> res = c.compound([op.exchange_id(owner, 0, protect, [c.impl_id]), op.putrootfh()])
> >> # per draft 21 18.35.3, server MUST return NFS4ERR_NOT_ONLY_OP
> >> check(res, NFS4ERR_NOT_ONLY_OP)
> >> +
> >> +def testLeasePeriod(t, env):
> >> + """Any unconfirmed record that is not confirmed within
> >> + a lease period SHOULD be removed.
> >> +
> >> + FLAGS: exchange_id all
> >> + CODE: EID9
> >> + """
> >> + c1 = env.c1.new_client("%s_1" % env.testname(t))
> >> + c2 = env.c1.new_client("%s_2" % env.testname(t))
> >> + # CREATE_SESSION
> >> + chan_attrs = channel_attrs4(0,8192,8192,8192,128,8,[])
> >> + time.sleep(80)
> >
> > Let's not hard-code any lease time. pynfs should do a getattr to find
> > the server's lease time, and use that as the basis for calculations
> > (we need something like the getLeaseTime in the 4.0 pynfs.)
> >
> > I actually usually set the server lease time to 15 seconds for testing,
> > just to make the tests go faster....
>
> Agree with you!
> What about the following one?
Looks fine to me.
> + chan_attrs = channel_attrs4(0,8192,8192,8192,128,8,[])
> + time.sleep(lease - 10)
I changed this to
time.sleep(min(lease-10, 1))
so it'll sill work with single-digit lease, and left it the same
otherwise.
Thanks!
--b.
> + # Inside lease period, create_session will success.
> + res1 = c1.c.compound([op.create_session(c1.clientid, c1.seqid, 0,
> + chan_attrs, chan_attrs,
> + 123, [])], None)
> + check(res1)
> +
> + time.sleep(lease + 10)
> + # After lease period, create_session will get error NFS4ERR_STALE_CLIENTID
> + res2 = c2.c.compound([op.create_session(c2.clientid, c2.seqid, 0,
> + chan_attrs, chan_attrs,
> + 123, [])], None)
> + check(res2, NFS4ERR_STALE_CLIENTID)
> --
> 1.7.4.1
>
>
>
next prev parent reply other threads:[~2011-03-09 1:29 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 [this message]
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 ` [PATCH v2 4/5] CLNT: test lock before RECLAIM_COMPLETE Mi Jinlong
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=20110309012942.GE15814@fieldses.org \
--to=bfields@fieldses.org \
--cc=linux-nfs@vger.kernel.org \
--cc=mijinlong@cn.fujitsu.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).