From patchwork Wed Nov 30 18:15:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anna Schumaker X-Patchwork-Id: 13060225 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1BC51C433FE for ; Wed, 30 Nov 2022 18:18:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230256AbiK3SSg (ORCPT ); Wed, 30 Nov 2022 13:18:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40110 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230247AbiK3SST (ORCPT ); Wed, 30 Nov 2022 13:18:19 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6BA6398947 for ; Wed, 30 Nov 2022 10:15:39 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id EDE1CB81C9C for ; Wed, 30 Nov 2022 18:15:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 408B1C433B5; Wed, 30 Nov 2022 18:15:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1669832129; bh=8PAhh+2aTi6d3mPzn3GIY6BAAQh/zqGJwCzo8E5Jviw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Bpl1/vVRTkCaqA3u660K/LySXa4K1xiS3I4gzxCm6EFSonJLEN3jN1EeJc5z/QRqX bUPB71ERMLRbxGGkiLRBZTMx1apZDWyqr3swLwjirKKIHpiCM8PpqXluCOyOznEDP5 4deY7ISHEv6ptqrXVKqF0+OvgDFe8AHvhoL8nmrmUsgk3hbT+VvJfq+ZyvrJGpBR3I KnyNSDzwzwM5KYBGlI2wTCA3QLFA+B8TujpLJfeODpXJ3iYj0X3Ne35Ud4ccfIathW AnwZmzpYCUK1zPP8X/zLMmo4YVwVYYvaCJd9kBJTFZSWMWEZUBKBc2//0PrzbVvcZ+ 5LIo2vKI8hkjA== From: Anna Schumaker To: linux-nfs@vger.kernel.org, trond.myklebust@hammerspace.com Cc: anna@kernel.org Subject: [PATCH 2/3] NFSv4.2: Fix up READ_PLUS alignment Date: Wed, 30 Nov 2022 13:15:26 -0500 Message-Id: <20221130181527.766485-2-anna@kernel.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221130181527.766485-1-anna@kernel.org> References: <20221130181527.766485-1-anna@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org From: Anna Schumaker Assume that the first segment will be a DATA segment, and place the data directly into the xdr pages so it doesn't need to be shifted. Signed-off-by: Anna Schumaker --- fs/nfs/nfs42xdr.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/nfs/nfs42xdr.c b/fs/nfs/nfs42xdr.c index 2fd465cab631..d80ee88ca996 100644 --- a/fs/nfs/nfs42xdr.c +++ b/fs/nfs/nfs42xdr.c @@ -47,13 +47,14 @@ #define decode_deallocate_maxsz (op_decode_hdr_maxsz) #define encode_read_plus_maxsz (op_encode_hdr_maxsz + \ encode_stateid_maxsz + 3) -#define NFS42_READ_PLUS_SEGMENT_SIZE (1 /* data_content4 */ + \ +#define NFS42_READ_PLUS_DATA_SEGMENT_SIZE \ + (1 /* data_content4 */ + \ 2 /* data_info4.di_offset */ + \ - 2 /* data_info4.di_length */) + 1 /* data_info4.di_length */) #define decode_read_plus_maxsz (op_decode_hdr_maxsz + \ 1 /* rpr_eof */ + \ 1 /* rpr_contents count */ + \ - 2 * NFS42_READ_PLUS_SEGMENT_SIZE) + NFS42_READ_PLUS_DATA_SEGMENT_SIZE) #define encode_seek_maxsz (op_encode_hdr_maxsz + \ encode_stateid_maxsz + \ 2 /* offset */ + \