From nobody Tue Oct 7 01:53:50 2025 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 999F12566; Tue, 15 Jul 2025 15:34:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752593663; cv=none; b=RZRdLOJiRiMUFTf94Ld2/Fm6+njch6J706+TLrImDSbaNn1oTsH62yQgpvBQB95sAaAD0aGY05rqRxyt4LYcW/5UqcUoPkuZrZg542nUOl0pb3N4P8Cn77tBypTiee1FMNalcPbKBym1cGWWhw3J03dS65YxzQh5Om072i+sviA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752593663; c=relaxed/simple; bh=jWXJkdMExanq1YlOIvO0J4rSXugA5nzucWUyfwphbFA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=B01afmSLPlpcSCD2DQRp5tUAazb7x0pPEmaroEjE2xykudnkgnUSW011vw44pPPkjoRpz1JiDTMND9yjMaWV+xqCMhTnedYLOr8FVqPjuUCb9a//yuHC06D5qGwZ/+oxGdcJH5omZFDVJoCvklLydd0OmaMCIPKhWy0RuF97SVY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SUlMXYXV; arc=none smtp.client-ip=209.85.167.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SUlMXYXV" Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-553b16a0e38so5871357e87.1; Tue, 15 Jul 2025 08:34:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752593659; x=1753198459; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ixADBVnIqNcUON2e7BpnBQozPltpp8iiDxc4IJSiQQs=; b=SUlMXYXVsC08Ys5Idd1IkfvKWz5j++HC2ddA0m04JDd/0IZyl7pyZg9uZt/TZtLI3d elXcxrgS+EjAGM8J+SU/Foj2vdLrhr/Y/Vro67yrDtsXAJW2jiUZminzTUM7hmcZEM3H GegeHkbS60Iho/Nm1YsjiOttaOopOc+2EaNxFaOXDHZRtg6HMR5e40SR1fo06Ab/RzFY LYFOk3BNYDVMKoGPURRC9JJ3mqTZbq3cvIZttBAqBzhenyLtzmZfDajKo3K7F7gpBKud aCNQs+UP+vQa9GzO/dRp5xBHQM5WsvquanSkkpS8M1moSJOIbiw5445Lts3xUIUujwro I1UA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752593659; x=1753198459; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ixADBVnIqNcUON2e7BpnBQozPltpp8iiDxc4IJSiQQs=; b=WZQbeDFI8xo70bYbfzZMohIhNmoB7GbjLmc55GK4xrgS7Paz8WqbPHO1Z7+2zi26id ZeReJL06ecP99QagQ/LlJtEjRDyCVwqQynt8iL2cU0eRpyxuCpBdtVulfqs7u7qfW6k9 aT30UT7v7bzP+IGcl8TGOMOalF4Uv3n7uNoJC9dsTBq7s7Le6OBS016bMteLJ6+yCI6g dwBLE1V6LnqWiY0RoJLxXP7CwFugnGPBCJkfsArsLc9AZREaUFML6OeUSh8/yWP8mF1w J1soHapYJQsPxh0qX4C/qwo4ss8arRDmXroFE88Cmi9bluUgi0wMjz7V/p0E+ZqPFIPG LxFw== X-Forwarded-Encrypted: i=1; AJvYcCXPzuaM0YdHfMvWSMCcInUFmWaNrv7YY44Y54LGZh5ccAL54cFoNlThgP5wIrqcWdg8dU8fyJCu9F/Kg/U=@vger.kernel.org X-Gm-Message-State: AOJu0YzzPiccj3Arwsw/qdSmmCzyK5kuT1l2LTbrlmqw59D6fCKuR0Ew EvZgbvBB2ZhhdYcY5thbEwPnQp0a+xXDkz3U08OzBSKAM1ddT5Rqqq4Z X-Gm-Gg: ASbGncviXR6ce99CBpRvzYBqiY34+x2gEfA4xewIlU7Tsy0Iy7TMQ0/OGZ9afgjRU+D SdJJGlndfCTwaeO++CEsERW0YhmkjIUN9X7oSsZf+ARDhBQdHema8peQ1mLo74WJo0jBPSUVkxq 7KzZKI8Xc484eoJRJGSLn0fv6b7ww+1IPBb+PwdFHU5il9NcDGybPIN7VQo0igNau9R4Qo+2RQh njwjCyQt03t3P2pQlnYj5+hF/egCuVeJxhwJ+d5mukCb0d+6FDwaiGxz7MEWL3lFsU2xRZCjnj0 uPOFsim3rqVGqeydU0Wh9YIPUM2zX2WZs+opIiSdM/vOWQ4swKydQcwZTMFth+cn0iuij9rZEjp 89DSk9S4Cu824cJcYSbo/6fTZT1kmlhhZd9m+wMl0FbQ0ocLoVkA= X-Google-Smtp-Source: AGHT+IE4adUPJWTkAj0zeJViVlW3lMzcBMU+nd78EvAjz/9JbFajMuOfpMO6N+hRcS/mB9RIHZ79OA== X-Received: by 2002:a05:6512:2390:b0:553:35ca:592a with SMTP id 2adb3069b0e04-55a04678767mr5587022e87.52.1752593658439; Tue, 15 Jul 2025 08:34:18 -0700 (PDT) Received: from SC-WS-02452.corp.sbercloud.ru ([85.174.192.104]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5593c7e9c7dsm2316482e87.64.2025.07.15.08.34.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Jul 2025 08:34:18 -0700 (PDT) From: Sergey Bashirov To: Chuck Lever , Christoph Hellwig , Jeff Layton , NeilBrown , Olga Kornievskaia , Dai Ngo , Tom Talpey Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Konstantin Evtushenko , Sergey Bashirov , Christoph Hellwig Subject: [PATCH v2 1/3] NFSD: Minor cleanup in layoutcommit processing Date: Tue, 15 Jul 2025 18:32:18 +0300 Message-ID: <20250715153319.37428-2-sergeybashirov@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250715153319.37428-1-sergeybashirov@gmail.com> References: <20250715153319.37428-1-sergeybashirov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Remove dprintk in nfsd4_layoutcommit. These are not needed in day to day usage, and the information is also available in Wireshark when capturing NFS traffic. Signed-off-by: Sergey Bashirov Reviewed-by: Christoph Hellwig --- fs/nfsd/nfs4proc.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 85ee486ce0caa..656b2e7d88407 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -2492,18 +2492,12 @@ nfsd4_layoutcommit(struct svc_rqst *rqstp, inode =3D d_inode(current_fh->fh_dentry); =20 nfserr =3D nfserr_inval; - if (new_size <=3D seg->offset) { - dprintk("pnfsd: last write before layout segment\n"); + if (new_size <=3D seg->offset) goto out; - } - if (new_size > seg->offset + seg->length) { - dprintk("pnfsd: last write beyond layout segment\n"); + if (new_size > seg->offset + seg->length) goto out; - } - if (!lcp->lc_newoffset && new_size > i_size_read(inode)) { - dprintk("pnfsd: layoutcommit beyond EOF\n"); + if (!lcp->lc_newoffset && new_size > i_size_read(inode)) goto out; - } =20 nfserr =3D nfsd4_preprocess_layout_stateid(rqstp, cstate, &lcp->lc_sid, false, lcp->lc_layout_type, --=20 2.43.0 From nobody Tue Oct 7 01:53:50 2025 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4CBFB19ADA2; Tue, 15 Jul 2025 15:34:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752593682; cv=none; b=pn7gRf/xZazDmZAIoHxFnSU4KMKJpaMVc3lPzHn043fwr/Nge9UcbBAle7Bf84eZ7W34dBs6kWBalECbHBtkInUh3ijktRMHJ2+4rqbTsZ9Y0x1Ct9YSafGn14D0aWxJ/+Rea+fhLsyZuc9t0wVfbMM3H2JwOfRpHADhhSYDC3s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752593682; c=relaxed/simple; bh=UVgH8+FY1fNm43nKiNjStjzvtgIm99z/OEEPH0sYtY0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Y4OTDKpzzXctr7oGdMkUIIfEBr0+4+K1O3GAooSMXjz4Jkt/+UqH5m+/6+IC783OQp58biEg8ef6KuKbzSXWZLNYVh8rxyPFVK8tLrz3Fi2OXhPh5jBIeklCdc43VuhINW2ymf7V9CIWVbcNDRXOj7RAyP132r/F8qpZbzPFdp4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mYaoPrbn; arc=none smtp.client-ip=209.85.167.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mYaoPrbn" Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-55a10c74f31so2670975e87.1; Tue, 15 Jul 2025 08:34:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752593678; x=1753198478; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Kbuk2FF+f2H6MyL+EZHtdbe6/1pYCjhs1W+HV7OFIDQ=; b=mYaoPrbnFqLzkZ50brk+OgF1Bf5wizwDCO7ef9K2C1ow4CsCFN71j0jFWPlMrgGgxY pW/hie55Sa/BD6a/lBq5zzWwsa8Y5URLH48X71OWV94JoXexxrXlcMo67OLetN1UVYWc U3pKCzZ5IF+nw6KdbCXggNVIMp69/6m2gtvEsLGSCw92wfHGtfYZoXeRtcBvf54o8Wkc BS8nCNZePRrr4egYe+2ysdavclMpTbFwcd2I98aqLb5sA6J62TvNQmMRUP8o9QutHJxq MxS9nYs08iHro21iucePiymTJmGnwdj9d6NS9qaDvZdDu4aBLZWYh99DAW4LMSM+A2xv yxjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752593678; x=1753198478; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Kbuk2FF+f2H6MyL+EZHtdbe6/1pYCjhs1W+HV7OFIDQ=; b=mv41PJrVw7ZoEy0qQOjwpoklXa4yfP8UvAvT56ntTtdHOWQb+04tnBUbmFf6y3Q26h MAOVAZQUtygXbQjWbweJB7JknauT/kD4ynxpQu+3R2D/ukN9KcXlxCBpmBzLeXZbbYBb GiydCVcYoMuck5e+wTC4zEc9f5KZ3F5gvAlom8F1N71iWfptfPCLH7qL6FwDiiYwZ8w8 U30oH/HktLOFjRHgnYmgKBr1EzPaOAhY1XRNP1JFQbWGODiP9/+Sz57sgz0V1KmZTT5Y K5uk6ckksgp76dJiQTAx0o4MVjqGJbBjnKaPX6DovoEO/db0uZYrsYxyWXtwv1VSUuOr I1SA== X-Forwarded-Encrypted: i=1; AJvYcCXIXWYDfArxuvea4rjtjpgwgO/6aIu/8n3wPSXuZtbJnsqaG8CGsVfaSFjfJSU61JrvYEqJ61hFKSJLQEI=@vger.kernel.org X-Gm-Message-State: AOJu0YxLt1INZ5HLnlBSYf6G+poAc/Ph7MyjycpwMehY7oa1iscM2MJk /AWY78ohvdnLCggVVJJdOMHZja65wrI/L8l56r9avP7KGLm4jJ/6qCg1 X-Gm-Gg: ASbGncuMLluOtwbpicWin7X1OO9qpymGpQhco9pxYDA/bRleqLgKMZaqKizwmPbAsPa eNYolO4RQJnpyybj1SuFzCmO8emXicP538bzd84GxsqHITt7/XYpwX1bgXtwi4OjE1U1p/WI2yE BBo6QpsbypMtMDlM+NRhZ/K7MGivQpxSxf3lIZ17ZlDOgr0VhgtBCsVQAPwnt1TZztdWrtoxyi3 NzxqcGxQhe37Dv9xabFhAUpNbpjK/bFSDYkTEBrz3lnL7Buu3g3wPUqdn5hyNrhMBDZHp+nhaO9 r+4R+OmUgQkqHb+gYlnL+r6KFqpbh2PeTsHxiHeGFyUhyGZYAMlwDPCu8De2bjVp4bSn5twMq/N dcjw7cH/ypZrlVxVu8Y2lmuuPNI1yIe1iUeF8C4VJAdXaae+mwME= X-Google-Smtp-Source: AGHT+IH9E2X8CK8wPeReXuDzGxQLQY5HZm0azJyMFRzh4AR7tjtpXCvSUhDXOwezgJRbdeNG5q3AbQ== X-Received: by 2002:a05:6512:304e:b0:553:2868:6355 with SMTP id 2adb3069b0e04-55a044e8898mr5248118e87.18.1752593677950; Tue, 15 Jul 2025 08:34:37 -0700 (PDT) Received: from SC-WS-02452.corp.sbercloud.ru ([85.174.192.104]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5593c7e9c7dsm2316482e87.64.2025.07.15.08.34.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Jul 2025 08:34:37 -0700 (PDT) From: Sergey Bashirov To: Chuck Lever , Christoph Hellwig , Jeff Layton , NeilBrown , Olga Kornievskaia , Dai Ngo , Tom Talpey Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Konstantin Evtushenko , Sergey Bashirov Subject: [PATCH v2 2/3] NFSD: Fix last write offset handling in layoutcommit Date: Tue, 15 Jul 2025 18:32:19 +0300 Message-ID: <20250715153319.37428-3-sergeybashirov@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250715153319.37428-1-sergeybashirov@gmail.com> References: <20250715153319.37428-1-sergeybashirov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The data type of loca_last_write_offset is newoffset4 and is switched on a boolean value, no_newoffset, that indicates if a previous write occurred or not. If no_newoffset is FALSE, an offset is not given. This means that client does not try to update the file size. Thus, server should not try to calculate new file size and check if it fits into the segment range. See RFC 8881, section 12.5.4.2. Sometimes the current incorrect logic may cause clients to hang when trying to sync an inode. If layoutcommit fails, the client marks the inode as dirty again. Fixes: 9cf514ccfacb ("nfsd: implement pNFS operations") Co-developed-by: Konstantin Evtushenko Signed-off-by: Konstantin Evtushenko Signed-off-by: Sergey Bashirov Reviewed-by: Christoph Hellwig --- fs/nfsd/blocklayout.c | 5 ++--- fs/nfsd/nfs4proc.c | 30 +++++++++++++++--------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/fs/nfsd/blocklayout.c b/fs/nfsd/blocklayout.c index 4c936132eb440..0822d8a119c6f 100644 --- a/fs/nfsd/blocklayout.c +++ b/fs/nfsd/blocklayout.c @@ -118,7 +118,6 @@ nfsd4_block_commit_blocks(struct inode *inode, struct n= fsd4_layoutcommit *lcp, struct iomap *iomaps, int nr_iomaps) { struct timespec64 mtime =3D inode_get_mtime(inode); - loff_t new_size =3D lcp->lc_last_wr + 1; struct iattr iattr =3D { .ia_valid =3D 0 }; int error; =20 @@ -128,9 +127,9 @@ nfsd4_block_commit_blocks(struct inode *inode, struct n= fsd4_layoutcommit *lcp, iattr.ia_valid |=3D ATTR_ATIME | ATTR_CTIME | ATTR_MTIME; iattr.ia_atime =3D iattr.ia_ctime =3D iattr.ia_mtime =3D lcp->lc_mtime; =20 - if (new_size > i_size_read(inode)) { + if (lcp->lc_size_chg) { iattr.ia_valid |=3D ATTR_SIZE; - iattr.ia_size =3D new_size; + iattr.ia_size =3D lcp->lc_newsize; } =20 error =3D inode->i_sb->s_export_op->commit_blocks(inode, iomaps, diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 656b2e7d88407..7043fc475458d 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -2475,7 +2475,6 @@ nfsd4_layoutcommit(struct svc_rqst *rqstp, const struct nfsd4_layout_seg *seg =3D &lcp->lc_seg; struct svc_fh *current_fh =3D &cstate->current_fh; const struct nfsd4_layout_ops *ops; - loff_t new_size =3D lcp->lc_last_wr + 1; struct inode *inode; struct nfs4_layout_stateid *ls; __be32 nfserr; @@ -2491,13 +2490,21 @@ nfsd4_layoutcommit(struct svc_rqst *rqstp, goto out; inode =3D d_inode(current_fh->fh_dentry); =20 - nfserr =3D nfserr_inval; - if (new_size <=3D seg->offset) - goto out; - if (new_size > seg->offset + seg->length) - goto out; - if (!lcp->lc_newoffset && new_size > i_size_read(inode)) - goto out; + lcp->lc_size_chg =3D false; + if (lcp->lc_newoffset) { + loff_t new_size =3D lcp->lc_last_wr + 1; + + nfserr =3D nfserr_inval; + if (new_size <=3D seg->offset) + goto out; + if (new_size > seg->offset + seg->length) + goto out; + + if (new_size > i_size_read(inode)) { + lcp->lc_size_chg =3D true; + lcp->lc_newsize =3D new_size; + } + } =20 nfserr =3D nfsd4_preprocess_layout_stateid(rqstp, cstate, &lcp->lc_sid, false, lcp->lc_layout_type, @@ -2513,13 +2520,6 @@ nfsd4_layoutcommit(struct svc_rqst *rqstp, /* LAYOUTCOMMIT does not require any serialization */ mutex_unlock(&ls->ls_mutex); =20 - if (new_size > i_size_read(inode)) { - lcp->lc_size_chg =3D true; - lcp->lc_newsize =3D new_size; - } else { - lcp->lc_size_chg =3D false; - } - nfserr =3D ops->proc_layoutcommit(inode, rqstp, lcp); nfs4_put_stid(&ls->ls_stid); out: --=20 2.43.0 From nobody Tue Oct 7 01:53:50 2025 Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28BB124337B; Tue, 15 Jul 2025 15:34:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752593691; cv=none; b=UNJohJywbkhNjXXJu7l8/3mm5md9I+zgmdnnVehWnaGaZQcN0fZXNK38LxMNj3eu+bmg9XEcdoHEIwDNIgQ9yEBOJby81NIPlDRMUceniLec/ZObOYM4yqp4BzzcIbc9IFxmgHMmcv71+6dSCwF/cnFSLvgyOspji4jeHjnpy1c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752593691; c=relaxed/simple; bh=Opc0fAF84w4wvc5gQZ7ZkrPABHjFRdWfuYNVH2A9HTs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mwD97ZCZYOUxDmn+VDTH/JXfUkW54Ez8ONSPXNce00wvITZo5x9H9feuMxdyGz5qoKb7dxbkXS6+WL2zTDGtSp7bTJblGWbJmwGSPAd1qTH1TmhakQyxJ+8SD5kzQMU5iWQ3Qxwvyf9S5jURsXFQYN8ZAxAD8etnJJWZQVEtqk0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CDRy7k73; arc=none smtp.client-ip=209.85.208.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CDRy7k73" Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-32b3a3a8201so49847731fa.0; Tue, 15 Jul 2025 08:34:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752593688; x=1753198488; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Wjro2UMVYBNQuYncM4eVApUcwQNNk3iK9loyoyjEx5U=; b=CDRy7k73GJbNs+931+tbpDVg7GTxJeW+BC9CIOFRGOLG1UXTytLWdJ2mw/bG4BhZfi 0IZba/nOVQx4MZUlF9VHakiPT0dz06I0KvyjwQZGHOLu3GppGjmxy4kAON4519BNVnA5 669jZgNablMZYer5NpociIW1Xm+osqglEvX3DrFHw2yrOZk5IAYvZSm2PYp3Nf4A73Wj N52BpibifEpXVdM2RXNZJ/efnpnLbRAFf4omMzdbu1w6ohvQFqyh090PDx4shLDzXUBY takQvJPFzo424pHHJf0yWRZ9FSt04j66NKll2P17spFzsZmnSG383B4Fr1BjunT2mbmw Ldbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752593688; x=1753198488; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Wjro2UMVYBNQuYncM4eVApUcwQNNk3iK9loyoyjEx5U=; b=fXTTiMwTwpMmFZGfXoqCNZVVB1FiSGCm/3G8FlRFXd9+L00Ds8BOBUrLnACxXldYiN 8gmkq9QdRVd94sKmxFy/pCxP8TgER5huYodF9J2nuQSlttpFQfxjfID8rkh2lkosHasq 2TCStUn2vwxanhzeR+TE4w/E4gZ6Ae+OEfwCvCtjPtVAhsEhi1ugFlLmqx4T9XiwT81F VDki0+r/MzlYU601sOu9VRscg8MG+s8lGCGcFLBVuk0BIkvdP5lvK15uWv/mtKkXDciv 4KABrzbR/EhTo5rTcLi7epXoUSEkimUnbDNnR2EJdjl8Npy48LFTa+BtVEfJUTiESvp6 bwAA== X-Forwarded-Encrypted: i=1; AJvYcCVoJGDrPNM9qMWGbcg9ajXjyzkO2W1QN24jVlxc5MFMVExweMZO1pZfCsSuuaENI+YuR9jGXyG/GTD1Tmc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx56fNx2TzC3//L3kaUDZ6Ozsqa3ksPkadSVwlwoKn9bYzfFR1h +nMW7x0mhR4OVeHTUwwPUR83yZU38mW2HG5umQdHINFKzJ58I0iOtasD X-Gm-Gg: ASbGncue11xct6MjsDu+fuRlJZ7RUaXb0Znr4mycGl+xa1TVESEwkD0bgd3zfulrqqN yMxIWUumgIjtt61ZTOYcCzKyclgAxK4oF43buCudPFLV6UWuqeT3zUfyOZ0gvDC/lfH0jQJId56 K3oQ53O9zgnY3a6G+F97DDr6O+Xlk7Dv9yNnUCe3bIwU/KPfheeSZzIlNpW9LkwVh3pQTWdRMC6 +MpviHaUw4Aaxp9RQrWaxma+jPQ/kaB23SdM98NE9miAPLzRRRAfkD55PRizQXMvCYk5dv5oIxM uLlwzaD10XTEmVLWrrPIXjZnK+tL7X37bLXkgizVKc8noyWgZQ3MsJGKHcLHlm0MJvfiZGV0Sgu Y2d9aRr+RI6VYcWAwaC0m8fsNqcQGpTdGj13JsIWpc3EyKKg4LvY= X-Google-Smtp-Source: AGHT+IEGmXA3gwbi1bGfQ5IHJHibBvHXSZUZkPSKbqnCfdnKOWaraCe24fGuJIA+NIPiD3oXLmhiCg== X-Received: by 2002:a05:6512:b01:b0:553:25b2:fd28 with SMTP id 2adb3069b0e04-55a04609053mr5279160e87.42.1752593688058; Tue, 15 Jul 2025 08:34:48 -0700 (PDT) Received: from SC-WS-02452.corp.sbercloud.ru ([85.174.192.104]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5593c7e9c7dsm2316482e87.64.2025.07.15.08.34.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Jul 2025 08:34:47 -0700 (PDT) From: Sergey Bashirov To: Chuck Lever , Christoph Hellwig , Jeff Layton , NeilBrown , Olga Kornievskaia , Dai Ngo , Tom Talpey Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Konstantin Evtushenko , Sergey Bashirov Subject: [PATCH v2 3/3] NFSD: Minor cleanup in layoutcommit decoding Date: Tue, 15 Jul 2025 18:32:20 +0300 Message-ID: <20250715153319.37428-4-sergeybashirov@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250715153319.37428-1-sergeybashirov@gmail.com> References: <20250715153319.37428-1-sergeybashirov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use the appropriate xdr function to decode the lc_newoffset field, which is a boolean value. See RFC 8881, section 18.42.1. Signed-off-by: Sergey Bashirov Reviewed-by: Christoph Hellwig --- fs/nfsd/nfs4xdr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index 6479c1e3b7741..ca9e3321b6691 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -1813,7 +1813,7 @@ nfsd4_decode_layoutcommit(struct nfsd4_compoundargs *= argp, status =3D nfsd4_decode_stateid4(argp, &lcp->lc_sid); if (status) return status; - if (xdr_stream_decode_u32(argp->xdr, &lcp->lc_newoffset) < 0) + if (xdr_stream_decode_bool(argp->xdr, &lcp->lc_newoffset) < 0) return nfserr_bad_xdr; if (lcp->lc_newoffset) { if (xdr_stream_decode_u64(argp->xdr, &lcp->lc_last_wr) < 0) --=20 2.43.0