From patchwork Wed Mar 2 06:36:15 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mi Jinlong X-Patchwork-Id: 602001 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p226ZdWM026240 for ; Wed, 2 Mar 2011 06:35:39 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754550Ab1CBGfe (ORCPT ); Wed, 2 Mar 2011 01:35:34 -0500 Received: from cn.fujitsu.com ([222.73.24.84]:53224 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1754272Ab1CBGfd (ORCPT ); Wed, 2 Mar 2011 01:35:33 -0500 Received: from tang.cn.fujitsu.com (tang.cn.fujitsu.com [10.167.250.3]) by song.cn.fujitsu.com (Postfix) with ESMTP id B1F7F170091; Wed, 2 Mar 2011 14:35:32 +0800 (CST) Received: from mailserver.fnst.cn.fujitus.com (tang.cn.fujitsu.com [127.0.0.1]) by tang.cn.fujitsu.com (8.14.3/8.13.1) with ESMTP id p226Tg8k007338; Wed, 2 Mar 2011 14:29:42 +0800 Received: from [127.0.0.1] ([10.167.225.24]) by mailserver.fnst.cn.fujitus.com (Lotus Domino Release 8.5.1FP4) with ESMTP id 2011030214342467-259856 ; Wed, 2 Mar 2011 14:34:24 +0800 Message-ID: <4D6DE55F.6040205@cn.fujitsu.com> Date: Wed, 02 Mar 2011 14:36:15 +0800 From: Mi Jinlong User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: "J. Bruce Fields" CC: NFS Subject: [PATCH 15/17] CLNT: test lock before RECLAIM_COMPLETE References: <4D6DE26C.3010103@cn.fujitsu.com> In-Reply-To: <4D6DE26C.3010103@cn.fujitsu.com> X-MIMETrack: Itemize by SMTP Server on mailserver/fnst(Release 8.5.1FP4|July 25, 2010) at 2011-03-02 14:34:24, Serialize by Router on mailserver/fnst(Release 8.5.1FP4|July 25, 2010) at 2011-03-02 14:34:24, Serialize complete at 2011-03-02 14:34:24 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Wed, 02 Mar 2011 06:35:40 +0000 (UTC) diff --git a/nfs4.1/server41tests/st_reclaim_complete.py b/nfs4.1/server41tests/st_reclaim_complete.py index 45ac9ad..a94f2ad 100644 --- a/nfs4.1/server41tests/st_reclaim_complete.py +++ b/nfs4.1/server41tests/st_reclaim_complete.py @@ -50,3 +50,29 @@ def testReclaimAfterRECC(t, env): res = sess.compound([op.putfh(cfh), op.lock(READ_LT, TRUE, 0, 1, lowner)]) check(res, NFS4ERR_NO_GRACE) + +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: 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) + + oseqid = res.resarray[2].stateid + cfh = res.resarray[3].object + owner = open_owner4(0, "My Open Owner") + otlowner = open_to_lock_owner4(0, oseqid, 0, owner) + lowner = locker4(TRUE, otlowner) + + res = sess.compound([op.putfh(cfh), op.lock(READ_LT, FALSE, 0, 1, lowner)]) + check(res, NFS4ERR_NO_GRACE)