Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp962655imw; Fri, 15 Jul 2022 16:58:32 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vffXvrJEyUdotRp3VmK/fpevOKqZnFcxuQyX6XogcY/qQCLwpFjMeCwLJYXf+erd85YrJr X-Received: by 2002:a63:e818:0:b0:419:ade7:d429 with SMTP id s24-20020a63e818000000b00419ade7d429mr10457797pgh.560.1657929512736; Fri, 15 Jul 2022 16:58:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657929512; cv=none; d=google.com; s=arc-20160816; b=ws/ghM0UOTuLm9xlpGGaj6qO1fOLmQLDyvmPkiHE/wrksCFbROjoFsxDkSbOqzq+C7 5r5VgwKs4is+IoLvKM6nKyZSH9JWrp1iQOCfdHoZy6HxX176qouOf8DMPeG9/EE6EB/5 omjEHUfbR4LXzHmxJpbXT/SBckkh5OSh2b7sUkRqHEmU/YoVoFPxEGND15UyeFOeLSZ5 izu6vD4rOWu62SNqzja4774LSDiy1ax6626/zb8TfTIO3GuCtwKLl37obOi0MxDhO5AS xryNTtPO9aTK09DwIkRgvCYpLd9MboPMNY4kyJDnCrtdXwyhwaJR2XnvvrC1tjmnUKsB qUpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:date:from:references:in-reply-to :message-id:dkim-signature; bh=adbnppDOpR2pSf1fyqV1a5+XH92C5PMB+isbfy2BuqQ=; b=G37iakMCu8AuPus06aj/PC3gXV0Y80GxvEBZNBRKtof8mkxoFLRDBcfXZocfeZX/K8 Nb6YQeQ7wI9whfZU4UB/34B1s201S1NYHiHQO/w1K5EY/RgKX6RM8plweMVOlszIlThp qQR2i4/p+VP+Toa4ylnkxcdxkk0iYD7VDPQW10LiwqoiM8zO05/+7SIuv7MRcNgt/86i F30wSIuiYyS1gfCKH2x9hX9zchit8nloBLEKFp+/nfaJYK/o/X/wKXwQABtACVICKFcu cM+wnse3fzt1z2YD5zkZL27yGVn7BVbdCKg9+83veUHfzUtAtdw6FiOx66wIEjiPSB1t Qdwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@crudebyte.com header.s=lizzy header.b=Tqw+gCSA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=crudebyte.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k5-20020a170902ce0500b0016c3d49b0e7si7152917plg.577.2022.07.15.16.58.17; Fri, 15 Jul 2022 16:58:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@crudebyte.com header.s=lizzy header.b=Tqw+gCSA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=crudebyte.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230058AbiGOXzl (ORCPT + 99 others); Fri, 15 Jul 2022 19:55:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43418 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229929AbiGOXzh (ORCPT ); Fri, 15 Jul 2022 19:55:37 -0400 X-Greylist: delayed 1799 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Fri, 15 Jul 2022 16:55:36 PDT Received: from lizzy.crudebyte.com (lizzy.crudebyte.com [91.194.90.13]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE48F904F1; Fri, 15 Jul 2022 16:55:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=crudebyte.com; s=lizzy; h=Cc:To:Subject:Date:From:References:In-Reply-To: Message-Id:Content-Type:Content-Transfer-Encoding:MIME-Version:Content-ID: Content-Description; bh=adbnppDOpR2pSf1fyqV1a5+XH92C5PMB+isbfy2BuqQ=; b=Tqw+g CSA1qb5rguxXuXVt9wQ2I2zXlCt4HioQBdMLlpd9xiFP16I54x0aW/I8nFhdFfZgcnF/emsENsmNH BoGHuh69xK9abgrSEb8gJVVXhi7CQgVjDBl/uQgxmXD3FqaOXbkBDZZtAIFnKi6ZxZ5ENhu39oJjm gKr2Xa0Uw2Qz36sYveGRICY/FcxeTelIjQIVkOM0GiVOZ8TH+3Dz6sTSEq/dv9TRN3+LqZQ2eWWyU CA0bwghwvr1UK0ZP0RUkx+ZKg1ZqrJkLNRos9Fbd9fPoTci35t9q4hKm3kzPmYzuFvv6+NTTpBhss kwv5x0yHY83M5pGzn2BWJaet+Fcag==; Message-Id: <9431a25fe4b37fd12cecbd715c13af71f701f220.1657920926.git.linux_oss@crudebyte.com> In-Reply-To: References: From: Christian Schoenebeck Date: Fri, 15 Jul 2022 23:32:28 +0200 Subject: [PATCH v6 07/11] net/9p: split message size argument into 't_size' and 'r_size' pair To: v9fs-developer@lists.sourceforge.net Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Dominique Martinet , Eric Van Hensbergen , Latchesar Ionkov , Nikolay Kichukov X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Refactor 'max_size' argument of p9_tag_alloc() and 'req_size' argument of p9_client_prepare_req() both into a pair of arguments 't_size' and 'r_size' respectively to allow handling the buffer size for request and reply separately from each other. Signed-off-by: Christian Schoenebeck --- net/9p/client.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/net/9p/client.c b/net/9p/client.c index 20054addd81b..32a8f2f43479 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -255,24 +255,26 @@ static struct kmem_cache *p9_req_cache; * p9_tag_alloc - Allocate a new request. * @c: Client session. * @type: Transaction type. - * @max_size: Maximum packet size for this request. + * @t_size: Buffer size for holding this request. + * @r_size: Buffer size for holding server's reply on this request. * * Context: Process context. * Return: Pointer to new request. */ static struct p9_req_t * -p9_tag_alloc(struct p9_client *c, int8_t type, unsigned int max_size) +p9_tag_alloc(struct p9_client *c, int8_t type, uint t_size, uint r_size) { struct p9_req_t *req = kmem_cache_alloc(p9_req_cache, GFP_NOFS); - int alloc_msize = min(c->msize, max_size); + int alloc_tsize = min(c->msize, t_size); + int alloc_rsize = min(c->msize, r_size); int tag; if (!req) return ERR_PTR(-ENOMEM); - if (p9_fcall_init(c, &req->tc, alloc_msize)) + if (p9_fcall_init(c, &req->tc, alloc_tsize)) goto free_req; - if (p9_fcall_init(c, &req->rc, alloc_msize)) + if (p9_fcall_init(c, &req->rc, alloc_rsize)) goto free; p9pdu_reset(&req->tc); @@ -678,7 +680,7 @@ static int p9_client_flush(struct p9_client *c, struct p9_req_t *oldreq) } static struct p9_req_t *p9_client_prepare_req(struct p9_client *c, - int8_t type, int req_size, + int8_t type, uint t_size, uint r_size, const char *fmt, va_list ap) { int err; @@ -694,7 +696,7 @@ static struct p9_req_t *p9_client_prepare_req(struct p9_client *c, if (c->status == BeginDisconnect && type != P9_TCLUNK) return ERR_PTR(-EIO); - req = p9_tag_alloc(c, type, req_size); + req = p9_tag_alloc(c, type, t_size, r_size); if (IS_ERR(req)) return req; @@ -731,7 +733,7 @@ p9_client_rpc(struct p9_client *c, int8_t type, const char *fmt, ...) struct p9_req_t *req; va_start(ap, fmt); - req = p9_client_prepare_req(c, type, c->msize, fmt, ap); + req = p9_client_prepare_req(c, type, c->msize, c->msize, fmt, ap); va_end(ap); if (IS_ERR(req)) return req; @@ -829,7 +831,7 @@ static struct p9_req_t *p9_client_zc_rpc(struct p9_client *c, int8_t type, /* We allocate a inline protocol data of only 4k bytes. * The actual content is passed in zero-copy fashion. */ - req = p9_client_prepare_req(c, type, P9_ZC_HDR_SZ, fmt, ap); + req = p9_client_prepare_req(c, type, P9_ZC_HDR_SZ, P9_ZC_HDR_SZ, fmt, ap); va_end(ap); if (IS_ERR(req)) return req; -- 2.30.2