From nobody Sun Dec 14 01:39:51 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F4AB2749C1; Fri, 8 Aug 2025 11:41:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653270; cv=none; b=DnzVt5qaQ7pXJuu49gh552Pc7icNG3uqz6G1Js5bAIsV3dRzMAiyjxMV+/b+6kBfAOWfYsHPFO+QnWsvZhgzWxIqvLwkPtOhuKfwS84lOFkT7O0ZuH4cOXU0P9kWgus49tEyt+ly+lRLKC/1LnE+oVEqrhQI32zYxsB3flAXiHQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653270; c=relaxed/simple; bh=H26vMp3NxZr/WTH7qpPvEN1W4Ym6aDZBKWSTFBdj8Hk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CaIyDiOsBIvA0eA3c4GCFnmPqsM2N8TYSSEoUHLKlcKqhBbC/kHbKaTMSVqG8mxCph7D+IR6U7NapJsPyn/wb98gTHI7hx7WnAJpt1WTAgGl1YHrK59wOPKgqQC9OfENc+Qv0k2DxLDRbBXs3G3UJzdYGt1NxqT/AWBGNQDjhlQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VB35/jLh; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VB35/jLh" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 78788C4CEF1; Fri, 8 Aug 2025 11:41:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754653269; bh=H26vMp3NxZr/WTH7qpPvEN1W4Ym6aDZBKWSTFBdj8Hk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=VB35/jLhegesyURRoN7XncWo3/tg/naMw1Po60mgs0A5AE+f2I8qZzKjvqPN1Z7pR txmbXYS5UVmuPf1cFsnF7k0m+JoATrr5jk8FvTybD8iHJ/ZRETxlzZ8RJAX+n7Pimh CPwKQcGkqmu6AWo26rj52ng1GxBiYr1rJJ/ZF4AxLq+jEBqKqb2l8aP8BhCyoahKI2 vHUMgMd3NFQgrWxU+cCmthwNdc+hfCrtNds4KJR5kJEIV7pYwSvgXrNMeayUNwy0di FExalXZ+rkdqpDQSx7YfQcMLStnhlM8OA/O3dqVNlacZVjHASo4+MTn3Fn43s8Xxuu d05MejEar1bJw== From: Jeff Layton Date: Fri, 08 Aug 2025 07:40:30 -0400 Subject: [PATCH 1/5] nfs: remove trailing space from tracepoint Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250808-nfs-tracepoints-v1-1-f8fdebb195c9@kernel.org> References: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> In-Reply-To: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> To: Trond Myklebust , Anna Schumaker Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=689; i=jlayton@kernel.org; h=from:subject:message-id; bh=H26vMp3NxZr/WTH7qpPvEN1W4Ym6aDZBKWSTFBdj8Hk=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBoleJTTVr6I0Ieyv8iG/NsKgQNegRaQj/yeazIQ 0rqzXUonkCJAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCaJXiUwAKCRAADmhBGVaC FctND/9DazMa5Df4M5UFKVsFYFnyothlcfySwxzCJmdjz90HiqPoASTf+wg4XR5pkgPgqkm4Owp Uykv6p9dsZXs3QGcmkaHubbCrozTf6LiVH1UegYfQTFpbf5ncWWuTmZVt4STi4bH5gvSDIgEA0O pEQaWlZEkUYo0uQsd7SEV4At8HRGtSD7L0gM3nKz7tNtxJpdrjsWp0bonm0CtXRMnMx1+s+Yiys QY+Xbb1r6/Xc3if5PoI6Ke9F3VjCaZPfUI9pDw/izMX7wYXcdHqoaHBCndicZDXftTc3z7yeMF5 PTucmjmygOpa+qq2NjxUuQsy/WZo3iR4wgAORtzetvRP2MI+fwErBGn9Ec8Mz3vSV71kugsgZx9 k+5/nK1XLF/xVq3CEGdhw/rF2RAHxp6mIyuZLISdXIJw7vK06ll3Xf4A6VMHKjHVHJCdXSwnMCB pF8318L373BpxtbP2gyQ70j3wutiKR+2OXsds+/mFQGKFkNyPBcCobLIxOlZwEvSmXKZ8df/r2p 0PVgT5lqitRPV3lomx63maRTjv7I4SuuDHk9MpuxewV634ChAME9P8okwuj0RFwUKPO8EW2m5aV +gSW58aVh9qSsJHlHeXhfwSzeb845SmJYM+cJh3JBteNylVc8VA1MbeqV/m4rgS/frPWHzI0+HD UjYXn5+ejV/Q53A== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Cleanup for a minor annoyance. Signed-off-by: Jeff Layton Reviewed-by: Benjamin Coddington --- fs/nfs/nfstrace.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h index 7a058bd8c566e2976e24136e2901fbaa7070daac..9ebfb220e94a5389e633210519a= 9a1f21a052d76 100644 --- a/fs/nfs/nfstrace.h +++ b/fs/nfs/nfstrace.h @@ -67,7 +67,7 @@ DECLARE_EVENT_CLASS(nfs_inode_event, ), =20 TP_printk( - "fileid=3D%02x:%02x:%llu fhandle=3D0x%08x version=3D%llu ", + "fileid=3D%02x:%02x:%llu fhandle=3D0x%08x version=3D%llu", MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long long)__entry->fileid, __entry->fhandle, --=20 2.50.1 From nobody Sun Dec 14 01:39:51 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D536A2749F9; Fri, 8 Aug 2025 11:41:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653270; cv=none; b=qzWDLSa63HgjV+FO+4qOZ4aUzlgM56rsWMfhv6W///LGN1J5lgfWVxAv7oAaMoVVLfoHGMMt6QU6pqSHK0CU4Gv3HHiGclJVpuSaOSnR/XN6Sq5w7rYrsR+wXHrf7KblCi9IPg8qz9hr2GsOWnHYZTUSujLkoMg5Hr8UzJ7C724= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653270; c=relaxed/simple; bh=NKy0RfPFFkVgZD4rrvhNYxdBB0f4tSuus4JTL++RErs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pwdbN9bIU+2FbBdmsH0PPyo5s5YZvdgb6X7HbTEQNMpd31mayLVLCyWa1/CUeOLI3fYbFC/a1Eg6+quMo/dlTtK2q7jvuLOIHsa1B5wW2Azqr1ANW+AcAPX6rWh4BIaQXOlkuNUr3K0P6EsaFtt6d0nO2QnDI33yVTq7CC0GYh4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EBAWclNr; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="EBAWclNr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1AC8DC4CEED; Fri, 8 Aug 2025 11:41:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754653270; bh=NKy0RfPFFkVgZD4rrvhNYxdBB0f4tSuus4JTL++RErs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=EBAWclNrtSBj3ASpyuvxYzpXtzkb2fLBmMAfCR2q0vc611Wk89DI3GSRl0/mOQyS/ GfqHO3ql2wECdWg+9ZeCudBMhDSFxDa/5W1nSvFM8g9VxU4PmUiAHBnB5qdufXe7pt JGsOgpS++rtzmiqxrWkhYKyU14Rjcyr9WN1a7MrbaUl0XnE6JlY41ruFw1q4kYwrOt 50ldK43h64kbyJXXd8PAdcq6DOenXWit3AlOpfKzt7jI9OVYZJiz/IxM2gCjjZhTPA JWmN8b+F14MxIUTxAVExXG8X21Sg4FVuhSRjmikBQElJNCfTt4nyNJ1JkrshlGa24j Cw1Fzz16u+YHQ== From: Jeff Layton Date: Fri, 08 Aug 2025 07:40:31 -0400 Subject: [PATCH 2/5] nfs: add tracepoints to nfs_file_read() and nfs_file_write() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250808-nfs-tracepoints-v1-2-f8fdebb195c9@kernel.org> References: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> In-Reply-To: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> To: Trond Myklebust , Anna Schumaker Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2906; i=jlayton@kernel.org; h=from:subject:message-id; bh=NKy0RfPFFkVgZD4rrvhNYxdBB0f4tSuus4JTL++RErs=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBoleJTirvbyq46rAoR8ifjyuWggazGWvVhOr7/N 5TRJ9d+A3KJAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCaJXiUwAKCRAADmhBGVaC FVN0D/9hKKsd2uTFKcfYK6ynp514atSmaFEyR1IQXxl5qb1zYpbhIAdDzQurkDJQg1wpZb5P9so 43ctOtwTeGZPZRAZrNtEKOGoijjHMcE6sRE+NjeHpBcD+1etywta6cUNS5hBmnZhIh+bHSgBp2r Ye4BnVFGGcfn/uMthVUb4wT7eDJuyKw74pnDN2I02OSgYhE0P2/43veExRIZc3CjgdFdw9pRfeJ 9H5Q6bIVtughQ0lQoDaiW+cquO2QlreC7KMTyfJpWA/oG1+e4ekfDTecQsPR8pBG/2f/WH0Mk9P xRpetnJdSmZIW2TEtF3knFXqds3Uej0JWi1ji6WIbRKIx6un1NG0sodMl5AxG/JPxO2J19PcnSO usZcRNXjFh2lDveNGQQeSnAuYx9vRZR7X1bVgB0WEKFwk18fQF7SqQg6Y0IJos+Y/NEACgwRqJy GIjx3tK3dDl8d3/5odnGvs21jGPWqmQZ4DAfEMEDi8vh0vLR0YB6m6Qf9wcaHXaSTh00hj2wqTw HryVdXmIy0wSG7clycb0NM4fbD1IWAdKhVC7Aqw8bxTPrEFhBU9/3RlqNf5Nqo1rfzlQouuHjma YRCcURgIig2nGr+HziaVFQh8GafO/B6xMt+OG8A56zCOOQcUHN8LMs4XqD+DYvQCgvkvB+Y23l6 05tjAEKl0aRIvlQ== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Add some tracepoints to the I/O submission codepaths. Signed-off-by: Jeff Layton Reviewed-by: Benjamin Coddington --- fs/nfs/file.c | 4 ++++ fs/nfs/nfstrace.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 86e36c630f09eac84f42bbee18dcace415d680ca..1e89801abed626ea64cd79722fa= d8720b2485d32 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -160,6 +160,8 @@ nfs_file_read(struct kiocb *iocb, struct iov_iter *to) struct inode *inode =3D file_inode(iocb->ki_filp); ssize_t result; =20 + trace_nfs_file_read(iocb, to); + if (iocb->ki_flags & IOCB_DIRECT) return nfs_file_direct_read(iocb, to, false); =20 @@ -656,6 +658,8 @@ ssize_t nfs_file_write(struct kiocb *iocb, struct iov_i= ter *from) errseq_t since; int error; =20 + trace_nfs_file_write(iocb, from); + result =3D nfs_key_timeout_notify(file, inode); if (result) return result; diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h index 9ebfb220e94a5389e633210519a9a1f21a052d76..d7d25cdf0060b3fa7c5889752a1= bd193d0e8ca92 100644 --- a/fs/nfs/nfstrace.h +++ b/fs/nfs/nfstrace.h @@ -1045,6 +1045,58 @@ DEFINE_NFS_FOLIO_EVENT_DONE(nfs_writeback_folio_done= ); DEFINE_NFS_FOLIO_EVENT(nfs_invalidate_folio); DEFINE_NFS_FOLIO_EVENT_DONE(nfs_launder_folio_done); =20 +DECLARE_EVENT_CLASS(nfs_kiocb_event, + TP_PROTO( + const struct kiocb *iocb, + const struct iov_iter *iter + ), + + TP_ARGS(iocb, iter), + + TP_STRUCT__entry( + __field(dev_t, dev) + __field(u32, fhandle) + __field(u64, fileid) + __field(u64, version) + __field(loff_t, offset) + __field(size_t, count) + __field(int, flags) + ), + + TP_fast_assign( + const struct inode *inode =3D file_inode(iocb->ki_filp); + const struct nfs_inode *nfsi =3D NFS_I(inode); + + __entry->dev =3D inode->i_sb->s_dev; + __entry->fileid =3D nfsi->fileid; + __entry->fhandle =3D nfs_fhandle_hash(&nfsi->fh); + __entry->version =3D inode_peek_iversion_raw(inode); + __entry->offset =3D iocb->ki_pos; + __entry->count =3D iov_iter_count(iter); + __entry->flags =3D iocb->ki_flags; + ), + + TP_printk( + "fileid=3D%02x:%02x:%llu fhandle=3D0x%08x version=3D%llu offset=3D%lld = count=3D%zu ki_flags=3D%s", + MAJOR(__entry->dev), MINOR(__entry->dev), + (unsigned long long)__entry->fileid, + __entry->fhandle, __entry->version, + __entry->offset, __entry->count, + __print_flags(__entry->flags, "|", TRACE_IOCB_STRINGS) + ) +); + +#define DEFINE_NFS_KIOCB_EVENT(name) \ + DEFINE_EVENT(nfs_kiocb_event, name, \ + TP_PROTO( \ + const struct kiocb *iocb, \ + const struct iov_iter *iter \ + ), \ + TP_ARGS(iocb, iter)) + +DEFINE_NFS_KIOCB_EVENT(nfs_file_read); +DEFINE_NFS_KIOCB_EVENT(nfs_file_write); + TRACE_EVENT(nfs_aop_readahead, TP_PROTO( const struct inode *inode, --=20 2.50.1 From nobody Sun Dec 14 01:39:51 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CC59274B5B; Fri, 8 Aug 2025 11:41:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653271; cv=none; b=mtFtw5pUJGiaAOu4P+cwHBFGVQxgfl2qzdpFig4A87Jih5reoI2RKsPpNFLSeDlt9T+CqKeSYUVeoO+Wqi+3sHyfsNiBZQ5gQnnHyvMqsbVf3+DAFiFefOE/+Tthw9QaQEx6MieYr2nFrLAqb0FevZ+aosIMDVhZJunCLBMLkPQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653271; c=relaxed/simple; bh=CZVKUAHenl2LlUGd9AUz2lOcktD/ckrjcqgdg1ufbfw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Aq03L4sqeMtplH0ozqZoQeikeOz7HwAglSaeuwq1X6GJT3X/JmFk1LxAxmr19zG2CDrSkxD2UkpOvM0JBUVJZeEipSA0eqXG5DJVV2U3ZTfRxyROEdjWi/iKGzLfKiGSDiDqr7XN8/NN+915V6hAiOznqKOU5rjGm9NKuJfgLAo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=j7Rh1x+F; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="j7Rh1x+F" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B0E87C4CEF6; Fri, 8 Aug 2025 11:41:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754653271; bh=CZVKUAHenl2LlUGd9AUz2lOcktD/ckrjcqgdg1ufbfw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=j7Rh1x+FUvnkKOv0XrzlWfJHpFJoq7tZwyyuvXjiR5PajCtEeu5wsOM+RzcnoyWgc bVsN5PJzqS4DKPN34SAWWPBSYlN+rqpRYSLtqe8xjihBsp1OdoYJqowg8rH45/cirN uxrTzsqEo+Mav6+Z0/LN6eRRhUOLMcXAGnhq5PcUUpaGpYV4UNLUHj9vo9a3+B0P2A Gyz+T/WngqmwpYhWlHCvYrjqKyGATDPSUCEc5VdeNL+BkPiTBVE0A+FHLOg8THIrjq K7iu+cWXnN0h5TPyj9nLYmv3XcjNAjzb9ngCTCqbHBddxYAa+PoPeYxiSVm4GITtrV Lc1d78K4C61fA== From: Jeff Layton Date: Fri, 08 Aug 2025 07:40:32 -0400 Subject: [PATCH 3/5] nfs: new tracepoints around write handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250808-nfs-tracepoints-v1-3-f8fdebb195c9@kernel.org> References: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> In-Reply-To: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> To: Trond Myklebust , Anna Schumaker Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4981; i=jlayton@kernel.org; h=from:subject:message-id; bh=CZVKUAHenl2LlUGd9AUz2lOcktD/ckrjcqgdg1ufbfw=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBoleJUgMyHvrem46KDKZtb8WFbu68IFDAs+UmEB bBLgymBYO2JAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCaJXiVAAKCRAADmhBGVaC FRaXD/0T8ojzs0WWsZTf5d5qXSwbB2gUp4PSqBgZlcp9Nwg80Mfm3BpCX0MyZoNHQsrF2lHQH2Z miJIhRSc5gu7DtrFS9F9XMNDmmCFMbX9CEtTZ6m8yh0giF0/qKef1YTVRy2UWk8biFOOtkoEcDA ZvOca6W8N7+D8x4KH+ZM2St5JETacKcyP46mpWpO25He0CW1RxhJoEH8MGqTs3URa7qVm846OTr A+QXyBy5+20bNV/K1ywH4y9YdfQZfQZ4cjpztu/eo2dVmfwLqdVI/KKi0do+WrwdFoYkKgVJxgK 20O9teev1/D5C/Xjn/VsLXQqysUz4ykMxEk4+EkqK207/YwxkzFGdpfgJ5VwTmDVgcCgNs6Ct8W V+QYu3Qt++883ODgxGqg86kvrx2EBr4TloH1Vhxl4HnuZBeUb9i1V2xjROqudmlMHuhZd5qTDyq 291DTBK8BFIJIDWlBEg1C0WqiItS77oSalTUBEByEOgLBtat7N2HhfYVghJ45pRpC6yC/+Q0fg0 /TBJ0OPlRuAt0Zb9PUV1kHENX7Lhg+DhbddosNFrqkPphcscjwJczvSshXTPzwNadqZvlEK11aI jInxB/AdmD0DFmXF5TBVmExLT7Und8abzenEK/EATqmI63Oa/LIBZI9cR9IcwbVm5ZDzNvH/x1u nRG3AC5mSheDBvA== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 New start and done tracepoints for: nfs_update_folio() nfs_write_begin() nfs_write_end() nfs_try_to_update_request() Signed-off-by: Jeff Layton Reviewed-by: Benjamin Coddington --- fs/nfs/file.c | 16 +++++++++++++--- fs/nfs/nfstrace.h | 13 +++++++++++++ fs/nfs/write.c | 10 +++++++++- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 1e89801abed626ea64cd79722fad8720b2485d32..058cb545ab8a2974e08810c0309= e5a2040f82cc2 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -356,6 +356,8 @@ static int nfs_write_begin(const struct kiocb *iocb, int once_thru =3D 0; int ret; =20 + trace_nfs_write_begin(file_inode(file), pos, len); + dfprintk(PAGECACHE, "NFS: write_begin(%pD2(%lu), %u@%lld)\n", file, mapping->host->i_ino, len, (long long) pos); =20 @@ -363,8 +365,10 @@ static int nfs_write_begin(const struct kiocb *iocb, start: folio =3D __filemap_get_folio(mapping, pos >> PAGE_SHIFT, fgp, mapping_gfp_mask(mapping)); - if (IS_ERR(folio)) - return PTR_ERR(folio); + if (IS_ERR(folio)) { + ret =3D PTR_ERR(folio); + goto out; + } *foliop =3D folio; =20 ret =3D nfs_flush_incompatible(file, folio); @@ -379,6 +383,8 @@ static int nfs_write_begin(const struct kiocb *iocb, if (!ret) goto start; } +out: + trace_nfs_write_begin_done(file_inode(file), pos, len, ret); return ret; } =20 @@ -392,6 +398,7 @@ static int nfs_write_end(const struct kiocb *iocb, unsigned offset =3D offset_in_folio(folio, pos); int status; =20 + trace_nfs_write_end(file_inode(file), pos, len); dfprintk(PAGECACHE, "NFS: write_end(%pD2(%lu), %u@%lld)\n", file, mapping->host->i_ino, len, (long long) pos); =20 @@ -420,13 +427,16 @@ static int nfs_write_end(const struct kiocb *iocb, folio_unlock(folio); folio_put(folio); =20 - if (status < 0) + if (status < 0) { + trace_nfs_write_end_done(file_inode(file), pos, len, status); return status; + } NFS_I(mapping->host)->write_io +=3D copied; =20 if (nfs_ctx_key_to_expire(ctx, mapping->host)) nfs_wb_all(mapping->host); =20 + trace_nfs_write_end_done(file_inode(file), pos, len, copied); return copied; } =20 diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h index d7d25cdf0060b3fa7c5889752a1bd193d0e8ca92..b90eed094e639a532463cb5a3f6= ba32c64431a6a 100644 --- a/fs/nfs/nfstrace.h +++ b/fs/nfs/nfstrace.h @@ -1045,6 +1045,19 @@ DEFINE_NFS_FOLIO_EVENT_DONE(nfs_writeback_folio_done= ); DEFINE_NFS_FOLIO_EVENT(nfs_invalidate_folio); DEFINE_NFS_FOLIO_EVENT_DONE(nfs_launder_folio_done); =20 +DEFINE_NFS_FOLIO_EVENT(nfs_try_to_update_request); +DEFINE_NFS_FOLIO_EVENT_DONE(nfs_try_to_update_request_done); + +DEFINE_NFS_FOLIO_EVENT(nfs_update_folio); +DEFINE_NFS_FOLIO_EVENT_DONE(nfs_update_folio_done); + +DEFINE_NFS_FOLIO_EVENT(nfs_write_begin); +DEFINE_NFS_FOLIO_EVENT_DONE(nfs_write_begin_done); + +DEFINE_NFS_FOLIO_EVENT(nfs_write_end); +DEFINE_NFS_FOLIO_EVENT_DONE(nfs_write_end_done); + + DECLARE_EVENT_CLASS(nfs_kiocb_event, TP_PROTO( const struct kiocb *iocb, diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 374fc6b34c7954ef781026e5114cf5411f366ecd..60138026053b992434c6fadc7bc= 53ebb5d8e8545 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -1068,11 +1068,12 @@ static struct nfs_page *nfs_try_to_update_request(s= truct folio *folio, unsigned int end; int error; =20 + trace_nfs_try_to_update_request(folio_inode(folio), offset, bytes); end =3D offset + bytes; =20 req =3D nfs_lock_and_join_requests(folio); if (IS_ERR_OR_NULL(req)) - return req; + goto out; =20 rqend =3D req->wb_offset + req->wb_bytes; /* @@ -1094,6 +1095,9 @@ static struct nfs_page *nfs_try_to_update_request(str= uct folio *folio, else req->wb_bytes =3D rqend - req->wb_offset; req->wb_nio =3D 0; +out: + trace_nfs_try_to_update_request_done(folio_inode(folio), offset, bytes, + PTR_ERR_OR_ZERO(req)); return req; out_flushme: /* @@ -1104,6 +1108,7 @@ static struct nfs_page *nfs_try_to_update_request(str= uct folio *folio, nfs_mark_request_dirty(req); nfs_unlock_and_release_request(req); error =3D nfs_wb_folio(folio->mapping->host, folio); + trace_nfs_try_to_update_request_done(folio_inode(folio), offset, bytes, e= rror); return (error < 0) ? ERR_PTR(error) : NULL; } =20 @@ -1341,6 +1346,8 @@ int nfs_update_folio(struct file *file, struct folio = *folio, =20 nfs_inc_stats(inode, NFSIOS_VFSUPDATEPAGE); =20 + trace_nfs_update_folio(inode, offset, count); + dprintk("NFS: nfs_update_folio(%pD2 %d@%lld)\n", file, count, (long long)(folio_pos(folio) + offset)); =20 @@ -1360,6 +1367,7 @@ int nfs_update_folio(struct file *file, struct folio = *folio, if (status < 0) nfs_set_pageerror(mapping); out: + trace_nfs_update_folio_done(inode, offset, count, status); dprintk("NFS: nfs_update_folio returns %d (isize %lld)\n", status, (long long)i_size_read(inode)); return status; --=20 2.50.1 From nobody Sun Dec 14 01:39:51 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1517D274FEB; Fri, 8 Aug 2025 11:41:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653272; cv=none; b=gFCvlAHGHiyLr79mdBRbCg8jqNckz4HekCG/BKUG10mCfmCUBmNArtnfOfwL3ghNdruXFoHguoc9Falrk+240IRt1nAQgI0cYmytyGyXVeEVOyTb29kNlPTdSXrmrX6fEPFNo9p8gtyIWMWfxs+/a0hXd7AgBD3ccKwiC4mm2is= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653272; c=relaxed/simple; bh=QlG+731peChM/wrFbsUQ3tB9V1jiBwoxRHe1UOwigpU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OqGATJgPMZgOO/uoPdXo7APGwAotj23gkLBCDuiTugbZZITOJa9MNva7nrjsmfYLzl1eeTcZu87lSnODl0UhrRIw2EYwCkymDCTgnGzrKrH/4BXU3BhU2QlNFuvslPMa+Bq29uXJNpg/t+vWGPaRFrdEUTMXVLRI8eHF+u6N6AY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Li/V7z2r; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Li/V7z2r" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 52840C4CEFB; Fri, 8 Aug 2025 11:41:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754653271; bh=QlG+731peChM/wrFbsUQ3tB9V1jiBwoxRHe1UOwigpU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Li/V7z2rw/BqeULhcajKFHebx7pCs3MkT1dB/fbcu4euYeQ8yM6mrOPLBay/QxEIS SoKBmR3hQsfTzWhYychutAcW5H6NteIgipZYsD6gG/vpAp3D2uCUNQ0kfXClXtiJTb XVuRsNGPDnR6KhFSWQ5jGsLbRoNvCcr7Y2xLE+f5IsNWIJ2YkHYITZFU3idp5fck0i w+arJXhJBhaBB7srUE6plY3S/eYVIypTeS0KFPXb5sco8kxoKgi47TIRdPSlVXvG0i EEcFDdFzpY6G5wyCSrEBZRK1Zpa1GdSdI9nygzSNlq0llG2tLLL7QUm6wf5D9nVMGv by2ykVmh4cu9Q== From: Jeff Layton Date: Fri, 08 Aug 2025 07:40:33 -0400 Subject: [PATCH 4/5] nfs: more in-depth tracing of writepage events Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250808-nfs-tracepoints-v1-4-f8fdebb195c9@kernel.org> References: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> In-Reply-To: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> To: Trond Myklebust , Anna Schumaker Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3601; i=jlayton@kernel.org; h=from:subject:message-id; bh=QlG+731peChM/wrFbsUQ3tB9V1jiBwoxRHe1UOwigpU=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBoleJUZd9Cipil3WDG+n0jgMbvPscoT4WTjPp5n 6L0B5XEPHqJAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCaJXiVAAKCRAADmhBGVaC FQF8EACkWoALnSLZyBM7q5mBVICxNHWbs91hRh318vQibPn5VsgVVTqz8eYQmvQqiwI4ORdnvz1 SKHtFcaouu4Zwqz1QhqSeZLrzdKGpaIMl2yI3jptDLd+jpjjIsP5X5Ok3OTTomVaXDC986CTPIR nG++vP5ZRM4x3AGmxB8PRu+jt4z72qu+emIALEpFrcChgphzqKICc0pk/XGDq6iOfQ8GrrTt6fi FoiHd+xjl2KO/S+roCGIYBXxZGErBpvREVLymbTrArA9EkYjKzGHfII9qBcbF4Olg6IgrWv71EK 9clWfhsYho6tezfKOY9p9U1TTogieR/Sb/HPOSh9A8cwNyayg96ibwgJzeIGJkeIVQAZPzReyzo 7SOT7PeCJOBokFfjvFZPF4+sfop9GFc1zhthAelwXz3VLjSox9Dhk944dXTqSS0K2ENdXM+1vDm 0QcMOSDiMsF//s53ldKU2NFbb3GQHW+QrZDUEN7tqJGiRl5i2nN4ui+QpntR56WXX/C9egUyXd5 slrssx4kYOvhrPT6Nxm7meDoAn/5/ZtGy9FFfkFW5l1MlT4y5Gh4eYJca9HGKThmx0OJp0j0jnp HRiyaDUF4bqhDofu6Nmo4dLRtPg0HwWsLW+iBn872/wzjZCXowfmegvPTJcYaa1/Pwur/g96LPh 7ylIXvkvRNESr6g== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Add tracepoints to nfs_writepage_setup() and nfs_do_writepage(). Signed-off-by: Jeff Layton Reviewed-by: Benjamin Coddington --- fs/nfs/nfstrace.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++= ++++ fs/nfs/write.c | 2 ++ 2 files changed, 68 insertions(+) diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h index b90eed094e639a532463cb5a3f6ba32c64431a6a..63dec30226153a78dd9017fdb11= 04ba3301f7372 100644 --- a/fs/nfs/nfstrace.h +++ b/fs/nfs/nfstrace.h @@ -44,6 +44,23 @@ { BIT(NFS_INO_LAYOUTSTATS), "LAYOUTSTATS" }, \ { BIT(NFS_INO_ODIRECT), "ODIRECT" }) =20 +#define nfs_show_wb_flags(v) \ + __print_flags(v, "|", \ + { BIT(PG_BUSY), "BUSY" }, \ + { BIT(PG_MAPPED), "MAPPED" }, \ + { BIT(PG_FOLIO), "FOLIO" }, \ + { BIT(PG_CLEAN), "CLEAN" }, \ + { BIT(PG_COMMIT_TO_DS), "COMMIT_TO_DS" }, \ + { BIT(PG_INODE_REF), "INODE_REF" }, \ + { BIT(PG_HEADLOCK), "HEADLOCK" }, \ + { BIT(PG_TEARDOWN), "TEARDOWN" }, \ + { BIT(PG_UNLOCKPAGE), "UNLOCKPAGE" }, \ + { BIT(PG_UPTODATE), "UPTODATE" }, \ + { BIT(PG_WB_END), "WB_END" }, \ + { BIT(PG_REMOVE), "REMOVE" }, \ + { BIT(PG_CONTENDED1), "CONTENDED1" }, \ + { BIT(PG_CONTENDED2), "CONTENDED2" }) + DECLARE_EVENT_CLASS(nfs_inode_event, TP_PROTO( const struct inode *inode @@ -1457,6 +1474,55 @@ TRACE_EVENT(nfs_writeback_done, ) ); =20 +DECLARE_EVENT_CLASS(nfs_page_class, + TP_PROTO( + const struct nfs_page *req + ), + + TP_ARGS(req), + + TP_STRUCT__entry( + __field(dev_t, dev) + __field(u32, fhandle) + __field(u64, fileid) + __field(const struct nfs_page *__private, req) + __field(loff_t, offset) + __field(unsigned int, count) + __field(unsigned long, flags) + ), + + TP_fast_assign( + const struct inode *inode =3D folio_inode(req->wb_folio); + const struct nfs_inode *nfsi =3D NFS_I(inode); + + __entry->dev =3D inode->i_sb->s_dev; + __entry->fileid =3D nfsi->fileid; + __entry->fhandle =3D nfs_fhandle_hash(&nfsi->fh); + __entry->req =3D req; + __entry->offset =3D req_offset(req); + __entry->count =3D req->wb_bytes; + __entry->flags =3D req->wb_flags; + ), + + TP_printk( + "fileid=3D%02x:%02x:%llu fhandle=3D0x%08x req=3D%p offset=3D%lld count= =3D%u flags=3D%s", + MAJOR(__entry->dev), MINOR(__entry->dev), + (unsigned long long)__entry->fileid, __entry->fhandle, + __entry->req, __entry->offset, __entry->count, + nfs_show_wb_flags(__entry->flags) + ) +); + +#define DEFINE_NFS_PAGE_EVENT(name) \ + DEFINE_EVENT(nfs_page_class, name, \ + TP_PROTO( \ + const struct nfs_page *req \ + ), \ + TP_ARGS(req)) + +DEFINE_NFS_PAGE_EVENT(nfs_writepage_setup); +DEFINE_NFS_PAGE_EVENT(nfs_do_writepage); + DECLARE_EVENT_CLASS(nfs_page_error_class, TP_PROTO( const struct inode *inode, diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 60138026053b992434c6fadc7bc53ebb5d8e8545..b5632f18813bee4e6a45cae3651= 399c753631958 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -646,6 +646,7 @@ static int nfs_do_writepage(struct folio *folio, struct= writeback_control *wbc, if (IS_ERR(req)) return PTR_ERR(req); =20 + trace_nfs_do_writepage(req); nfs_folio_set_writeback(folio); WARN_ON_ONCE(test_bit(PG_CLEAN, &req->wb_flags)); =20 @@ -1146,6 +1147,7 @@ static int nfs_writepage_setup(struct nfs_open_contex= t *ctx, req =3D nfs_setup_write_request(ctx, folio, offset, count); if (IS_ERR(req)) return PTR_ERR(req); + trace_nfs_writepage_setup(req); /* Update file length */ nfs_grow_file(folio, offset, count); nfs_mark_uptodate(req); --=20 2.50.1 From nobody Sun Dec 14 01:39:51 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B983727511A; Fri, 8 Aug 2025 11:41:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653272; cv=none; b=bWqRnlFAE1xtZU96gVr6610cxH45BAJbo6639Q0EyY+GiZ1/nyF4ekdWsrooiikb6205ShQ/jtLvHjaks+KOqLTtgJbOCvWB99sfvLbZ666pwlIT/qfza3XRIRsSfObHm1fSPmhgM30GhcCD5BOZmFRlE0dqhame3ClucsrMNW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754653272; c=relaxed/simple; bh=3FE6A6O+RGeqoPSnfsF4wQVXuqBjW0BAzGehqeSXqP0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aFI0IiVFRs0W8290xhRkuIzGuSFU7BxY3XAqt32od5TJYSKA9wEYGZ+rzpWaosUIgN61zcBpWi15icog7biALwciBlckXUp1/n5oRyt2T54MiBBb5F8tjk2lYplKx7c0owQF3k4IQyDdSVpZLtE4VUw1DXaIshyX12stdjkn+cU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZDYcn1b/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZDYcn1b/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8B24C4CEED; Fri, 8 Aug 2025 11:41:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754653272; bh=3FE6A6O+RGeqoPSnfsF4wQVXuqBjW0BAzGehqeSXqP0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ZDYcn1b/CS0D2dgssauMijoQYVt2l58SD7RcDDFsLKj0+TwHponfIEyJHd4QVif3G tZeLP8KFWSdIwVRC4dg8BvzA3ocpOWdTZAWJMUR1x6i919Q4+FLsXRzoruvitczDyn mO/jaAf8ofFuPFv50CixiS79QShig6D7zvpdtXpMjDtn5DX1UxDn1LJbqtDSSGvPhr d3xJcmQTQzjcJXURbiPS3rftWraTyfURkBcTZL5RKjJw1Skpc8pmTpzXEjyFVK/104 TGq5hr8PJSn8POZ+yvgaC87TX8JFLLzza8PYXEz99acjgCSoMHE09y8gyKoZ1wEG6f 25vpNMpBy6Q/Q== From: Jeff Layton Date: Fri, 08 Aug 2025 07:40:34 -0400 Subject: [PATCH 5/5] nfs: add tracepoints to nfs_writepages() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250808-nfs-tracepoints-v1-5-f8fdebb195c9@kernel.org> References: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> In-Reply-To: <20250808-nfs-tracepoints-v1-0-f8fdebb195c9@kernel.org> To: Trond Myklebust , Anna Schumaker Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1880; i=jlayton@kernel.org; h=from:subject:message-id; bh=3FE6A6O+RGeqoPSnfsF4wQVXuqBjW0BAzGehqeSXqP0=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBoleJUIZpG+m1lKvM4v7FOfvK1ClB+krZc1lLCh 2Ji/XZdFQKJAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCaJXiVAAKCRAADmhBGVaC FR7ZEACyxQMvvz+G6KY5nOOz9S81YOxkqiI13hncyeP2eb6EiU6J0JNMNAF6sIz/oMAj2lQRuFC DlpYHj7sIoIK7j42Ra1OwaxBSgQ9htMaB8Bk010v2Aiogmi/AvfixVxOsj+rBbdk9JyxBIzVwxi VOaGmJvhhYNx/7fkqUvGeaTexiPm0THsFvrHwtBuSFqzJggvPELSM86ITe4iSAnhAuU+R1EYwsZ iZG1Tl4gj0pn5znCm75tYvBspBnQt0l46D3wkZxUN2gBwjK9pCylP7qx5PBaWHooOfxLOSrOYBe cAaGFFPzsmF6CHyPTO3r4z9iBEKjsSFiXgyi57V9UXi7tDxLbCYJ/QsvBHNwAeIlyyqOPgd+4St 4jliNlo2/utLrM545OkZ5gxvlOD3kS4ym+zl/dQq/wHZekLV7ALg0gDAWVuvhb+4hxev20CQD+B ystKepdHEpcD0MAwbHm0PdYySspgg7i5nvOyEZt3PH6x1gWTgFmmXIDeqZsRWczo13S6CPXi0xW vzqFMvOlGDPSTR8pn4Kl+K+es6D5Xox0hw5WWYGna85uiVNAlUU+e/uQQ8nLXbX19c8UXiEJtSI 12kzabx/cTMHyYqk3HZzmxB3I3bYoAw3vARSCwD9gqA3OVQoUUEz0u3uVhT3ZSWnHC7Q1p5ICJX r9Pew+rp0mnGdlQ== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Show the inode info and requested range. Signed-off-by: Jeff Layton Reviewed-by: Benjamin Coddington --- fs/nfs/nfstrace.h | 2 ++ fs/nfs/write.c | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/fs/nfs/nfstrace.h b/fs/nfs/nfstrace.h index 63dec30226153a78dd9017fdb1104ba3301f7372..dcf339adcf5cb40a71eea4c9b5d= 4a500eb0223bb 100644 --- a/fs/nfs/nfstrace.h +++ b/fs/nfs/nfstrace.h @@ -1074,6 +1074,8 @@ DEFINE_NFS_FOLIO_EVENT_DONE(nfs_write_begin_done); DEFINE_NFS_FOLIO_EVENT(nfs_write_end); DEFINE_NFS_FOLIO_EVENT_DONE(nfs_write_end_done); =20 +DEFINE_NFS_FOLIO_EVENT(nfs_writepages); +DEFINE_NFS_FOLIO_EVENT_DONE(nfs_writepages_done); =20 DECLARE_EVENT_CLASS(nfs_kiocb_event, TP_PROTO( diff --git a/fs/nfs/write.c b/fs/nfs/write.c index b5632f18813bee4e6a45cae3651399c753631958..638c8334082086df2fe5ef14321= 9ab2fe186ae1b 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -710,12 +710,14 @@ int nfs_writepages(struct address_space *mapping, str= uct writeback_control *wbc) int priority =3D 0; int err; =20 + trace_nfs_writepages(inode, wbc->range_start, wbc->range_end - wbc->range= _start); + /* Wait with writeback until write congestion eases */ if (wbc->sync_mode =3D=3D WB_SYNC_NONE && nfss->write_congested) { err =3D wait_event_killable(nfss->write_congestion_wait, nfss->write_congested =3D=3D 0); if (err) - return err; + goto out_err; } =20 nfs_inc_stats(inode, NFSIOS_VFSWRITEPAGES); @@ -746,10 +748,10 @@ int nfs_writepages(struct address_space *mapping, str= uct writeback_control *wbc) } while (err < 0 && !nfs_error_is_fatal(err)); nfs_io_completion_put(ioc); =20 - if (err < 0) - goto out_err; - return 0; + if (err > 0) + err =3D 0; out_err: + trace_nfs_writepages_done(inode, wbc->range_start, wbc->range_end - wbc->= range_start, err); return err; } =20 --=20 2.50.1