From patchwork Wed Mar 2 06:29:59 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mi Jinlong X-Patchwork-Id: 601901 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 p226Sfg0022116 for ; Wed, 2 Mar 2011 06:29:18 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751853Ab1CBG3R (ORCPT ); Wed, 2 Mar 2011 01:29:17 -0500 Received: from cn.fujitsu.com ([222.73.24.84]:62225 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1751154Ab1CBG3R (ORCPT ); Wed, 2 Mar 2011 01:29:17 -0500 Received: from tang.cn.fujitsu.com (tang.cn.fujitsu.com [10.167.250.3]) by song.cn.fujitsu.com (Postfix) with ESMTP id 4FA3A17012D; Wed, 2 Mar 2011 14:29:16 +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 p226NQLZ006981; Wed, 2 Mar 2011 14:23:26 +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 2011030214280837-259756 ; Wed, 2 Mar 2011 14:28:08 +0800 Message-ID: <4D6DE3E7.4090105@cn.fujitsu.com> Date: Wed, 02 Mar 2011 14:29:59 +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 05/17] CLNT: test reply too big 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:28:08, Serialize by Router on mailserver/fnst(Release 8.5.1FP4|July 25, 2010) at 2011-03-02 14:28:08, Serialize complete at 2011-03-02 14:28:08 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:29:18 +0000 (UTC) diff --git a/nfs4.1/server41tests/st_create_session.py b/nfs4.1/server41tests/st_create_session.py index 1b8b119..c474ce3 100644 --- a/nfs4.1/server41tests/st_create_session.py +++ b/nfs4.1/server41tests/st_create_session.py @@ -1,6 +1,6 @@ from nfs4_const import * import nfs4_ops as op -from environment import check, fail +from environment import check, fail, create_file, open_file from nfs4_type import * import random import nfs4lib @@ -427,3 +427,31 @@ def testTooSmallMaxRS(t, env): chan_attrs, chan_attrs, 123, [])], None) check(res, NFS4ERR_TOOSMALL) + +def testRepTooBig(t, env): + """If requester sends a request for which the size of the reply + would exceed ca_maxresponsesize, the replier will return + NFS4ERR_REP_TOO_BIG + + FLAGS: create_session all + CODE: CSESS26 + """ + name = env.testname(t) + c1 = env.c1.new_client(name) + # create session with a small ca_maxresponsesize + chan_attrs = channel_attrs4(0,8192,50,8192,128,8,[]) + sess1 = c1.create_session(fore_attrs=chan_attrs) + owner = "owner_%s" % name + path = sess1.c.homedir + [name] + res = create_file(sess1, owner, path, access=OPEN4_SHARE_ACCESS_BOTH) + check(res) + + # write some data to file + fh = res.resarray[-1].object + stateid = res.resarray[-2].stateid + res = sess1.compound([op.putfh(fh), op.write(stateid, 5, FILE_SYNC4, "write test data " * 10)]) + check(res) + + # read data rather than ca_maxresponsesize + res = sess1.compound([op.putfh(fh), op.read(stateid, 0, 500)]) + check(res, NFS4ERR_REP_TOO_BIG)