On Wed, Mar 02, 2011 at 02:33:09PM +0800, Mi Jinlong wrote: > Signed-off-by: Mi Jinlong <mijinlong@xxxxxxxxxxxxxx> > --- > nfs4.1/server41tests/st_sequence.py | 18 ++++++++++++++++++ > 1 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/nfs4.1/server41tests/st_sequence.py b/nfs4.1/server41tests/st_sequence.py > index 4ea5cab..391fc45 100644 > --- a/nfs4.1/server41tests/st_sequence.py > +++ b/nfs4.1/server41tests/st_sequence.py > @@ -363,3 +363,21 @@ def testBadSequenceidAtSlot(t, env): > > res = c.c.compound([op.sequence(sid, nfs4lib.dec_u32(seqid), 2, 3, True)]) > check(res, NFS4ERR_SEQ_MISORDERED) > + > +def testReuseSlotID(t, env): > + """ > + > + FLAGS: sequence all > + CODE: SEQ14 > + """ Missing description? > + c = env.c1.new_client(env.testname(t)) > + # CREATE_SESSION > + sess1 = c.create_session() > + > + sid = sess1.sessionid > + res = c.c.compound([op.sequence(sid, 1, 2, 3, True), op.putrootfh()]) > + check(res) > + > + res = c.c.compound([op.sequence(sid, 1, 2, 3, True)]) > + # should we also check the ERROR of NFS4ERR_SEQ_FALSE_RETRY ?? As I understand it, the server isn't required to recognize false retries, so I don't think we can check for that. The only useful thing to check for, I think, is just to send the same request twice and make sure the requests match. Actually, best would be to do this with a non-idempotent operation. For example, send SEQ+RENAME twice and make sure that both renames succeed. (Whereas if the server reply cache is broken and the server attempts to rename the file again, the second rename will fail with NOENT.) --b. > + check(res) > -- > 1.7.4.1 > > > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html