From patchwork Mon Aug 8 22:40:01 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Fields X-Patchwork-Id: 1047202 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 p78MeAA7011459 for ; Mon, 8 Aug 2011 22:40:12 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753181Ab1HHWkK (ORCPT ); Mon, 8 Aug 2011 18:40:10 -0400 Received: from fieldses.org ([174.143.236.118]:59041 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752252Ab1HHWkJ (ORCPT ); Mon, 8 Aug 2011 18:40:09 -0400 Received: from bfields by fieldses.org with local (Exim 4.72) (envelope-from ) id 1QqYUS-0001jw-L7; Mon, 08 Aug 2011 18:40:08 -0400 From: "J. Bruce Fields" To: Fred Isaman Cc: linux-nfs@vger.kernel.org, "J. Bruce Fields" Subject: [PATCH 2/2] check another odd linux server case Date: Mon, 8 Aug 2011 18:40:01 -0400 Message-Id: <1312843201-6653-3-git-send-email-bfields@redhat.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1312843201-6653-1-git-send-email-bfields@redhat.com> References: <1312843201-6653-1-git-send-email-bfields@redhat.com> 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]); Mon, 08 Aug 2011 22:40:12 +0000 (UTC) --- nfs4.0/lib/nfs4/servertests/st_lock.py | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/nfs4.0/lib/nfs4/servertests/st_lock.py b/nfs4.0/lib/nfs4/servertests/st_lock.py index 90b93ee..8be25cd 100644 --- a/nfs4.0/lib/nfs4/servertests/st_lock.py +++ b/nfs4.0/lib/nfs4/servertests/st_lock.py @@ -846,3 +846,20 @@ def xxtestLockowner2(t, env): self.ncl.lock_test(self.fh) self.ncl.lock_file(self.fh, self.stateid, error=[NFS4ERR_BAD_STATEID]) +def testOpenDowngradeLock(t, env): + """OPEN a file RW, then lock R, then downgrade to R, then unlock. + + FLAGS: lock all + DEPEND: MKFILE + CODE: LOCK23 + """ + c = env.c1 + c.init_connection() + fh, oldstateid = c.create_confirm(t.code, access=OPEN4_SHARE_ACCESS_READ, + deny=OPEN4_SHARE_DENY_NONE) + fh, stateid = c.open_confirm(t.code, access=OPEN4_SHARE_ACCESS_BOTH, + deny=OPEN4_SHARE_DENY_NONE) + res = c.lock_file(t.code, fh, stateid); + res = c.downgrade_file(t.code, fh, res.lockid, + access=OPEN4_SHARE_ACCESS_READ, + deny=OPEN4_SHARE_DENY_NONE)