From patchwork Wed Aug 24 08:53:54 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mi Jinlong X-Patchwork-Id: 1091562 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p7O8ndNX026226 for ; Wed, 24 Aug 2011 08:49:57 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756555Ab1HXIt4 (ORCPT ); Wed, 24 Aug 2011 04:49:56 -0400 Received: from cn.fujitsu.com ([222.73.24.84]:59787 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1755977Ab1HXIt4 (ORCPT ); Wed, 24 Aug 2011 04:49:56 -0400 Received: from tang.cn.fujitsu.com (tang.cn.fujitsu.com [10.167.250.3]) by song.cn.fujitsu.com (Postfix) with ESMTP id 58D5E170128; Wed, 24 Aug 2011 16:49:49 +0800 (CST) Received: from mailserver.fnst.cn.fujitsu.com (tang.cn.fujitsu.com [127.0.0.1]) by tang.cn.fujitsu.com (8.14.3/8.13.1) with ESMTP id p7O8nk6n005112; Wed, 24 Aug 2011 16:49:48 +0800 Received: from [127.0.0.1] ([10.167.225.24]) by mailserver.fnst.cn.fujitsu.com (Lotus Domino Release 8.5.1FP4) with ESMTP id 2011082416484546-31193 ; Wed, 24 Aug 2011 16:48:45 +0800 Message-ID: <4E54BC22.6050700@cn.fujitsu.com> Date: Wed, 24 Aug 2011 16:53:54 +0800 From: Mi Jinlong User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: "J. Bruce Fields" , NFS Subject: [PATCH 2/4 v4] 4.1 CLNT: test reclaims after RECLAIM_COMPLETE References: <4E4C7679.7000108@cn.fujitsu.com> In-Reply-To: <4E4C7679.7000108@cn.fujitsu.com> X-MIMETrack: Itemize by SMTP Server on mailserver/fnst(Release 8.5.1FP4|July 25, 2010) at 2011-08-24 16:48:45, Serialize by Router on mailserver/fnst(Release 8.5.1FP4|July 25, 2010) at 2011-08-24 16:48:47, Serialize complete at 2011-08-24 16:48:47 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 (demeter2.kernel.org [140.211.167.43]); Wed, 24 Aug 2011 08:49:57 +0000 (UTC) Signed-off-by: Mi Jinlong --- nfs4.1/server41tests/st_reclaim_complete.py | 29 ++++++++++++++++++++++++++- 1 files changed, 28 insertions(+), 1 deletions(-) diff --git a/nfs4.1/server41tests/st_reclaim_complete.py b/nfs4.1/server41tests/st_reclaim_complete.py index bc63ed8..108e7b6 100644 --- a/nfs4.1/server41tests/st_reclaim_complete.py +++ b/nfs4.1/server41tests/st_reclaim_complete.py @@ -1,6 +1,6 @@ from st_create_session import create_session from nfs4_const import * -from environment import check, fail +from environment import check, fail, open_file, create_confirm import nfs4_ops as op import nfs4lib @@ -18,3 +18,30 @@ def testSupported(t, env): res = sess.compound([op.reclaim_complete(FALSE)]) check(res) + +def testReclaimAfterRECC(t, env): + """If client does subsequent reclaims of locking state after + RECLAIM_COMPLETE is done, server will return NFS4ERR_NO_GRACE. + rfc5661 18.51.3 + + FLAGS: reclaim_complete all + CODE: RECC2 + """ + name = env.testname(t) + c = env.c1.new_client(name) + sess = c.create_session() + + res = sess.compound([op.reclaim_complete(FALSE)]) + check(res) + + owner = "owner_%s" % name + path = sess.c.homedir + [name] + fh, stateid = create_confirm(sess, owner) + + # Try to reclaims a file which is noexist after RECLAIM_COMPLETE + res = open_file(sess, owner, path=fh, claim_type=CLAIM_PREVIOUS, + access=OPEN4_SHARE_ACCESS_BOTH, + deny=OPEN4_SHARE_DENY_NONE, + deleg_type=OPEN_DELEGATE_NONE) + + check(res, NFS4ERR_NO_GRACE, warnlist = [NFS4ERR_EXIST | NFS4ERR_RECLAIM_BAD])