From nobody Thu Dec 18 13:25:49 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 9AE0E266584; Wed, 9 Apr 2025 14:33:02 +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=1744209182; cv=none; b=YaZymQ6E2OwIdGIB3zTxydh2wjC+cqdCSOuHgA5SMbo5Anw49hQOuvrttx0TxTPDNaj3QZ+tRSDvK6+Mx1dX03frQv1WYTrhM17jlL9fz3q9go8gYW+jw46muS7rFpPyjGDPG7Cp0jIF70xIQUlneZoZCjEKQ5nkdi/CA5sXMJc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209182; c=relaxed/simple; bh=E7QNRTRZgMzovilvGjUe96foTOP4l/DqVeSstrQ0OdE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=C4hI1YglP/b1JpuX2En9m4UZdC3O5u6vT8AHyW4s4bI37gpz9Oi2j187sv9RbakAXXmCfxQiXctfBUy6YaiXQCqlUiDb8jr4mXA7st00WuPQtdk73GVFduSbMp5Srbs1vSPJK6HHqDGKwG1t/jO7qXj/TYsnk1vs2r8i9CcUi+0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jw7H59LA; 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="jw7H59LA" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 40706C4CEE7; Wed, 9 Apr 2025 14:33:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209182; bh=E7QNRTRZgMzovilvGjUe96foTOP4l/DqVeSstrQ0OdE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=jw7H59LALM2j5acvPFKRohh7JfhbXcfJC4P2RhqeSc8+4Ea/kHEoFCiesJccqCXdx UDoviazqUTiZ+u+9h3NR78KcHivLFRJJElUOUWS592WWv3lQiRgNGgup2p6reuPC/D ZvOjrodLZsviNOKBC2oq3BD6Z3VahyJxNToQK4VU66QL39T6dy3iOi9YnRF7kQmNea CkjJ2zMktTfi1Suezb4t8E/IXihP233nAT5zF4DZOai8MRY9AeTvE6ZbxB01A1f50+ mk8y+UuvytlH2tznh0RuyO/TyrC60zR5+vrUu9S/ngXcqUn7OLZkAL74sXmuTJs+fo ZME/yiL8puaVA== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:23 -0400 Subject: [PATCH v2 01/12] nfsd: add commit start/done tracepoints around nfsd_commit() 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: <20250409-nfsd-tracepoints-v2-1-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=1486; i=jlayton@kernel.org; h=from:subject:message-id; bh=E7QNRTRZgMzovilvGjUe96foTOP4l/DqVeSstrQ0OdE=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUZjDk+vB9WDaDcc/Ifikg3yiu5RKEOUjwVb sDSGiEun1OJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGQAKCRAADmhBGVaC FdMbEACUnuFUV962mU6f0uSf4ilXmue2k0dk9hSd+PT88G1GsAmkArhPsyY1RcfSi/TtOiwws5d QAViQsco1LZw8dULCBPF9LfsbW9AHZ5wCDVn9CWgmJ94YHk+vdYUA7ircEzSjCVyEyi4fktAOVj DnF+FOoIouNrTpL5LTrPIZX8DZLvOcQ37lGbtaVH4jtFQZtz5kwia7fPtbrP+eORGqrG7ZwSXbr dhFVZ1OBqPiU+4SIW5+lVE+YTS1nF+lBqNv9mAT7l9HrkEMlrAammCx6uLvi3JAG4t9bmima4Dz p9dWDzD1aIIctstBPbHiEF3QMo9U5W9vRPSUFt1F+nGndXO4XmL9rHKpTLbjVlWf/AH79YH5bsY cbk4PjWbch+ep104ZTeYnFsSpKHzVDdwCMr9oj9y13of61X7ArucjvjjHizQmqwe0o4NINFzmFE REGSfgcmDv+M6EyiKKnCQHXZXYX5U41PslQJiB9Jn9FBIIq5xEl/MAXIQjDx6EBZJ+uRz8C7rBx zH3sMIliJaSKigBLfYecCOFakWv0eho/Z82J1l306+hqOjLRK3mO68cFl2Pc4buzsH3pVJB0vqg kGdBnjokeRd64vYWgviVCZI0fy2IkoRjJXG4rMYbdT2cFtYV3LSf1GkQmKpP13lzhYqXWjdiSyn 04PdyjqQZD1zjmg== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Very useful for gauging how long the vfs_fsync_range() takes. Signed-off-by: Jeff Layton --- fs/nfsd/trace.h | 2 ++ fs/nfsd/vfs.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index a7630e9f657776a9335ba68ad223641e3ed9121a..0d49fc064f7273f32c93732a993= fd77bc0783f5d 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -451,6 +451,8 @@ DEFINE_NFSD_IO_EVENT(write_start); DEFINE_NFSD_IO_EVENT(write_opened); DEFINE_NFSD_IO_EVENT(write_io_done); DEFINE_NFSD_IO_EVENT(write_done); +DEFINE_NFSD_IO_EVENT(commit_start); +DEFINE_NFSD_IO_EVENT(commit_done); =20 DECLARE_EVENT_CLASS(nfsd_err_class, TP_PROTO(struct svc_rqst *rqstp, diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 86e199a758f6c69c508151fb14886f4b5da9c080..d1156a18a79579bf427fe5809dc= 93d06e241201e 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -1366,6 +1366,8 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fh= p, struct nfsd_file *nf, loff_t start, end; struct nfsd_net *nn; =20 + trace_nfsd_commit_start(rqstp, fhp, offset, count); + /* * Convert the client-provided (offset, count) range to a * (start, end) range. If the client-provided range falls @@ -1404,6 +1406,7 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fh= p, struct nfsd_file *nf, } else nfsd_copy_write_verifier(verf, nn); =20 + trace_nfsd_commit_done(rqstp, fhp, offset, count); return err; } =20 --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 A3421266B7D; Wed, 9 Apr 2025 14:33:03 +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=1744209183; cv=none; b=bJpsKhfiX7Rr67GDtbhzy4cLgElZfk15niB4VIE3nqSfgRSS9b6uQHUgZ1vtkYvPT2YQ5Uo6irCkLBfNELcSeSCKodxv2r6UmlBY6F4Tn3Ibh2+AvsXQn1H4QuWUXm5nz+8jqfRNQq13jwnh4y2FlidC9wz6sU5PHMFlFax0Hxk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209183; c=relaxed/simple; bh=VcnUzY+565jZTK8hBoI7wqCh9wq7lagdh8T+HHqHCGs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IecG7pmyxJDf/igb2tj+XNlJ5dRI3LVKDaqGRoL1adKg4rmnDK6wS9Z0jecY8mYqqdJQHAdLOjJ6h1jszCWsjbWwkmrwEOXadj/q0RLlTN6kvTi6SGr979EHEtEJJcvGhmQp1HSLNyUjrPUOUGA/Zv77iXv0zvvEqGCHwBFFonE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sbwYAjhy; 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="sbwYAjhy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 554A1C4CEE9; Wed, 9 Apr 2025 14:33:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209183; bh=VcnUzY+565jZTK8hBoI7wqCh9wq7lagdh8T+HHqHCGs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=sbwYAjhyWsD6scHuzlsifquNSVkiH61nFV1Lbiw0a7gTeurZACTlfymikgJw1DUHP GKrGMM1Fmt5mimbGAVa2mAjfi93eHpPCk+1QUuC8bLN2D94m15YW7F38VvPHRcKvI0 eGn62eKFev8rULZM9qCUo3JE3qhbXvqE4J8k20yoILEXqh0ZmcJPWYprixjz6r+OXm oUON/jw/89iWM+llag3hDa8a0AhBPnSVu4dOroJmVVpZxRLzl6NmRA5kOAu9A4t5gB QLS9UY8afqSp92I1Wv6Ho36sS3h/YDRmOf1B4FscN1JdXaHWZc2Dxmfa6K0GlZXCnc IgTwWUqQhj8JA== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:24 -0400 Subject: [PATCH v2 02/12] sunrpc: add info about xprt queue times to svc_xprt_dequeue 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: <20250409-nfsd-tracepoints-v2-2-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=2626; i=jlayton@kernel.org; h=from:subject:message-id; bh=VcnUzY+565jZTK8hBoI7wqCh9wq7lagdh8T+HHqHCGs=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUZ1UNowgzZRAIse4nozI0i/q8iWgXnk/uNe r8b4Ecn00qJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGQAKCRAADmhBGVaC FbYTD/4itzqsj3M1tcwjdE2mNhfwkO15OREdrlltyBoT8YhIgJl10M8pjuMrDYj7qsQXe2zmCpQ ZL3KwkgfFq0Oxw+eUZS+bX4oUKgBfTC+TDcWeEuKj9SNLrO3W+7DXzT9CG8WVFK1+xyEyWqZJmF WzUP4hTLh4yYT6sbe04HyUdazGjUF36UrI1Ts5qDmdruNNndI7fmhO90Hkn3BkN0EbF84ewdFZ4 YhRUHSbRNhJquLtdnjVs41/rF9bFWWOc3/dc/LiaatfUgMpSv96sb7g+W3/mTh3dlACW/QvjFJ4 UJUFUZfcfjw5tRy8pOC45jFpHRbrij+MOkW+w3L3jwJLLFa9+AEhTqxYb9sipNZLCDJar/EVGT8 p8X41GD2oQiZxIun73hzOjcl+SfcOTjJGJ2FnJfFuc+nDiNabVTCEXh0Eat9Kz1DsaFVXd5+5lc tP0do0KOmZrYawS0CPHhduFiGRShn63O1zCeCKqvzpO3e3qWww5JEdQno2b6R48YzXZ8bbBgQSP xicRRHoboMbJJkmBGV/QoTywTbq51IfcyOqg853212VMm4bVgLbmlMDMVSfiyYLS02lF3fnMc5v QMPMRp4EjkoqazTxvv4wZk1WKKFD8NpbjLqPHkbJc9xxmiE6h53s1OWDdw5KiPy/9jl0oNBLJhD LYpKL0lnNbToMrA== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Currently, this tracepoint displays "wakeup-us", which is the time that the woken thread spent sleeping, before dequeueing the next xprt. Add a new statistic that shows how long the xprt sat on the queue before being serviced. Signed-off-by: Jeff Layton --- include/linux/sunrpc/svc_xprt.h | 1 + include/trace/events/sunrpc.h | 13 +++++++------ net/sunrpc/svc_xprt.c | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/linux/sunrpc/svc_xprt.h b/include/linux/sunrpc/svc_xpr= t.h index 72be609525796792274d5b8cb5ff37f73723fc23..369a89aea18618748607ee94324= 7c327bf62c8d5 100644 --- a/include/linux/sunrpc/svc_xprt.h +++ b/include/linux/sunrpc/svc_xprt.h @@ -53,6 +53,7 @@ struct svc_xprt { struct svc_xprt_class *xpt_class; const struct svc_xprt_ops *xpt_ops; struct kref xpt_ref; + ktime_t xpt_qtime; struct list_head xpt_list; struct lwq_node xpt_ready; unsigned long xpt_flags; diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h index 5d331383047b79b9f6dcd699c87287453c1a5f49..b5a0f0bc1a3b7cfd90ce0181a8a= 419db810988bb 100644 --- a/include/trace/events/sunrpc.h +++ b/include/trace/events/sunrpc.h @@ -2040,19 +2040,20 @@ TRACE_EVENT(svc_xprt_dequeue, =20 TP_STRUCT__entry( SVC_XPRT_ENDPOINT_FIELDS(rqst->rq_xprt) - __field(unsigned long, wakeup) + __field(unsigned long, qtime) ), =20 TP_fast_assign( - SVC_XPRT_ENDPOINT_ASSIGNMENTS(rqst->rq_xprt); + ktime_t ktime =3D ktime_get(); =20 - __entry->wakeup =3D ktime_to_us(ktime_sub(ktime_get(), - rqst->rq_qtime)); + SVC_XPRT_ENDPOINT_ASSIGNMENTS(rqst->rq_xprt); + __entry->wakeup =3D ktime_to_us(ktime_sub(ktime, rqst->rq_qtime)); + __entry->qtime =3D ktime_to_us(ktime_sub(ktime, rqst->rq_xprt->xpt_qtime= )); ), =20 - TP_printk(SVC_XPRT_ENDPOINT_FORMAT " wakeup-us=3D%lu", - SVC_XPRT_ENDPOINT_VARARGS, __entry->wakeup) + TP_printk(SVC_XPRT_ENDPOINT_FORMAT " wakeup-us=3D%lu qtime=3D%lu", + SVC_XPRT_ENDPOINT_VARARGS, __entry->wakeup, __entry->qtime) ); =20 DECLARE_EVENT_CLASS(svc_xprt_event, diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index ae25405d8bd22672a361d1fd3adfdcebb403f90f..32018557797b1f683d8b7259f5f= ccd029aebcd71 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c @@ -488,6 +488,7 @@ void svc_xprt_enqueue(struct svc_xprt *xprt) pool =3D svc_pool_for_cpu(xprt->xpt_server); =20 percpu_counter_inc(&pool->sp_sockets_queued); + xprt->xpt_qtime =3D ktime_get(); lwq_enqueue(&xprt->xpt_ready, &pool->sp_xprts); =20 svc_pool_wake_idle_thread(pool); --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 C47E125D908; Wed, 9 Apr 2025 14:33:04 +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=1744209184; cv=none; b=Z/PYi28/PPlzZ0OiJ5afY++2cE465mk7jaRzQH2TPsSioAJ1iGd4OHyTlBnVRf2jILWJdv1lWEWsXCEyIp/D3sKEHelSAiZD7TN49IdL9qod/ZNCdBRCTsbcOEEszzsXZ4b8ZAUXSFJYOgKgZzzNxBTgOYtUlUb3eK+DBAwD20A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209184; c=relaxed/simple; bh=qtP/lEMbnhd2gkH1zk45qxYiBAB1NtxDuCXd82B7bxQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ONA6COg4HWaT8gfGwnOFRAFsknXWAZJL2HlzAG2Nhp250ZI2niE2/PXATzkSJ0wDCQXwsadnaxACBO1XPyoaioxbXQSmkLiS+YqGjGlZbvkY58UgMpqB+o9xbGChR4Ntz51dKRiSHVVng2DaXZiKRCqXi/y2Y9NGflRoVglWPwM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jZWbz/vZ; 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="jZWbz/vZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6961FC4CEE7; Wed, 9 Apr 2025 14:33:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209184; bh=qtP/lEMbnhd2gkH1zk45qxYiBAB1NtxDuCXd82B7bxQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=jZWbz/vZywra6n3AcUzJs7WxYaX8LzmOesKs4+9yv6yprTRFvhWVkV7a+BUOCffRZ 22qy55tECsohaZEPZS92aXa3eWwYJ5R+0vAKj+Ux3JHj7xySnbc2QGSHoPd3pmvnWa eay3hrzmcuhejUs2jo8guc6tkZuuZ0erHXluijh6GRMH7v2bD3M3j/bt0zYR/7jepU 5mxkG4KTFDeVLsmKvVo+E0BU2Ry9givWRnpFw50ON/YW6A/yuI0DsBrmMAFm9Lt26+ Zfpo3Qb9RvFj8zDxnpS6m/32Ss0cRuxeQMIkPAbSW0WQCwOp21Whoetk4KMQXs4Ho+ N1HWwVKF8nvew== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:25 -0400 Subject: [PATCH v2 03/12] sunrpc: move the SVC_RQST_EVENT_*() macros to common header 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: <20250409-nfsd-tracepoints-v2-3-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=2813; i=jlayton@kernel.org; h=from:subject:message-id; bh=qtP/lEMbnhd2gkH1zk45qxYiBAB1NtxDuCXd82B7bxQ=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUaVdt2XMo6bj0z2gY+D/ck5B2tvMQOBF3tu vo3xjbiXkOJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGgAKCRAADmhBGVaC FXKtD/4kVfRm5bYCD1kdZlaLFlvcRPkPldyuqCC73f16ixZt2wwlS1ZnPYsS4k6YIf+tXF2WtCm mHvEuENgjwpiizjq8kWg8YibYbb2opui+XFERerxVMKxLFeXJjHfTHVkxmfmh82Piuyd6Os4xu2 RFH4+XGyr6Vd9D3pjw718KRIpg85sTPj/SVluDyWNkvO+KkPwrIBN4hBo2D1nnXwyboudiGPqWw 76GsbvM955YSYwjbj7zDXsFvbN2sh1kl3RrM3DH3lejlqjGj74Nru4oDl0uuIna49vW4Av5aysJ FUOY3BTkyr3JSWyMr2bWwW7bnXoswfmWfSROTIm8SCgg71obN8DcPmyGVlL7VeXtR2nliD2ImE5 Aao0J9YuCl/1Lp46LFdqOnLQeV91iA9dm6OQxfMNmPvYmctIaxbi314iTu5Mke+ab87ZbqnYd6M AOyeDcRmJlbXDqW6iZMKyO/efPuovIxpav+5V7vjMRZKfmE4Y4+DpV7Zpn0kCBHpbML79P5gmbE WaaW7q3j6gDv3Ib6yDY9eKNsxFoz6k4rnL2FWgJnNIOcjTg9WuHbftAtaPyt0FGughBKtxMx2KD WFMw4XawzWUAyQ6c2Qd+loykWlsPUSM89w7fwQiFnZMFCXR/8egejxwwro8qCZhRCz3BFtY78YJ x9BmW/DxDgairHg== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 We need this for some of the nfsd tracepoints, so move them to the common misc/sunrpc.h infrastructure. Signed-off-by: Jeff Layton --- include/trace/events/sunrpc.h | 23 ----------------------- include/trace/misc/sunrpc.h | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h index b5a0f0bc1a3b7cfd90ce0181a8a419db810988bb..bd6a1e3631c291c55bde37cb73d= 2086d9b15c5de 100644 --- a/include/trace/events/sunrpc.h +++ b/include/trace/events/sunrpc.h @@ -1716,29 +1716,6 @@ TRACE_DEFINE_ENUM(SVC_COMPLETE); { SVC_PENDING, "SVC_PENDING" }, \ { SVC_COMPLETE, "SVC_COMPLETE" }) =20 -#define SVC_RQST_ENDPOINT_FIELDS(r) \ - __sockaddr(server, (r)->rq_xprt->xpt_locallen) \ - __sockaddr(client, (r)->rq_xprt->xpt_remotelen) \ - __field(unsigned int, netns_ino) \ - __field(u32, xid) - -#define SVC_RQST_ENDPOINT_ASSIGNMENTS(r) \ - do { \ - struct svc_xprt *xprt =3D (r)->rq_xprt; \ - __assign_sockaddr(server, &xprt->xpt_local, \ - xprt->xpt_locallen); \ - __assign_sockaddr(client, &xprt->xpt_remote, \ - xprt->xpt_remotelen); \ - __entry->netns_ino =3D xprt->xpt_net->ns.inum; \ - __entry->xid =3D be32_to_cpu((r)->rq_xid); \ - } while (0) - -#define SVC_RQST_ENDPOINT_FORMAT \ - "xid=3D0x%08x server=3D%pISpc client=3D%pISpc" - -#define SVC_RQST_ENDPOINT_VARARGS \ - __entry->xid, __get_sockaddr(server), __get_sockaddr(client) - TRACE_EVENT_CONDITION(svc_authenticate, TP_PROTO( const struct svc_rqst *rqst, diff --git a/include/trace/misc/sunrpc.h b/include/trace/misc/sunrpc.h index 588557d07ea820116219cf8ac7b049976a7d89b1..c3c8feede26087bad9b4c8dd001= 9606ee9982259 100644 --- a/include/trace/misc/sunrpc.h +++ b/include/trace/misc/sunrpc.h @@ -15,4 +15,27 @@ #define SUNRPC_TRACE_TASK_SPECIFIER \ "task:" SUNRPC_TRACE_PID_SPECIFIER "@" SUNRPC_TRACE_CLID_SPECIFIER =20 +#define SVC_RQST_ENDPOINT_FIELDS(r) \ + __sockaddr(server, (r)->rq_xprt->xpt_locallen) \ + __sockaddr(client, (r)->rq_xprt->xpt_remotelen) \ + __field(unsigned int, netns_ino) \ + __field(u32, xid) + +#define SVC_RQST_ENDPOINT_ASSIGNMENTS(r) \ + do { \ + struct svc_xprt *xprt =3D (r)->rq_xprt; \ + __assign_sockaddr(server, &xprt->xpt_local, \ + xprt->xpt_locallen); \ + __assign_sockaddr(client, &xprt->xpt_remote, \ + xprt->xpt_remotelen); \ + __entry->netns_ino =3D xprt->xpt_net->ns.inum; \ + __entry->xid =3D be32_to_cpu((r)->rq_xid); \ + } while (0) + +#define SVC_RQST_ENDPOINT_FORMAT \ + "xid=3D0x%08x server=3D%pISpc client=3D%pISpc" + +#define SVC_RQST_ENDPOINT_VARARGS \ + __entry->xid, __get_sockaddr(server), __get_sockaddr(client) + #endif /* _TRACE_SUNRPC_BASE_H */ --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 DE565267706; Wed, 9 Apr 2025 14:33:05 +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=1744209188; cv=none; b=ntRD0sJhQtdWih20fO4KF4tdUekxzzE29WQ/ut7KSFj2rgzNw+cXPvXLpp3HIppW/gDWgcUFcnFCcx+3gFVdelkgovtq9Cp8JrNZqaxfcd8qC0Z/w3vv6PePY9/oIVZXPxOWnEO0bCBB0aAgqDFXIP3baRvPXnl9v8Tcp14hR+I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209188; c=relaxed/simple; bh=9GBSxEPmoVssLVVXgixK7d8cLIsgqzh/i3Oj+v1CSYw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=chjAu2eh7ts82+CQZnqb58cW7jmMtoZCu3UepVKMW83QykQxdc49NH6tAicPN5OaW1QPvjVa0D07+TANRHJgEx9sJ4juDeHkSbtxdEd29qQ1XKeZUagT3Ks1N/yxSrPsj8WMEOCBPXz+h4Ox1sir1Ue3KkEoemEIMVYGM+86TpA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=poF6vQFj; 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="poF6vQFj" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7D95AC4CEE2; Wed, 9 Apr 2025 14:33:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209185; bh=9GBSxEPmoVssLVVXgixK7d8cLIsgqzh/i3Oj+v1CSYw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=poF6vQFjPAbgP7MZft040YytMazQEtBwEHsj3dnnpySBSykNB5U8y5htTvlGvwbz7 N7zZ3VmJD0MpnT2FZcTQ4+hs+LK+ZOojT98XsMe45xUjQmJfP1RjroE54hCmlrX5Dn NqIsI5Ve4rwc67XphZhFnidzLEaiOAju7wAATGrq8cxnConyMCMpY9o0MXzoRkX1zL DvP1AaOzH0DWfNClmSz/6iTd4toRLBwsRi2Tlyn2gXQ2T4AMr0qlWSj60kwJNUGcLw 3A8LqdsRccn4jf2ifII7RIWL7Z7Vvqu8IbAxy3wSozNzGTB59LTIFL3Sfz/1vKETPh uMPOWdBY5ARWw== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:26 -0400 Subject: [PATCH v2 04/12] nfsd: add a tracepoint for nfsd_setattr 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: <20250409-nfsd-tracepoints-v2-4-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=4577; i=jlayton@kernel.org; h=from:subject:message-id; bh=9GBSxEPmoVssLVVXgixK7d8cLIsgqzh/i3Oj+v1CSYw=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUa4rNlyoqwJ4nfz4w/qtI/yqAhiQf52rlo0 zrseXJX6o+JAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGgAKCRAADmhBGVaC FaDzEAC3qh2gTL7P94Je3dil8MWepI7Q+/buZQVGrIrE9uJQcnjbC2N8lOlqOPlJmxEuwv4smX8 4+FxPIIGnN9xs/R7tGFKSj7/FL35nnr+fNsbcqA57TPzZQzjQhiB3SeSE5V5Dog9kpEZAJlJKty VMURWmChc0tqvDlRtK5p5LwtFshPc6FKZUjLEArvWZVXD+u6vUik/GJ97VEnyLcWzhS6OH3G5Sv rkPrHM/45HpoyyjxKApIUz0/CxSwSQw5SXJmQ+WLzgXrHwaMmnwNjXdrKm6kBxVj77GMEtJPvZe KafMD+5fN/tSc4Y4jXdPty1MbFk1sHDz1h7cVMBJH+GDmQvs91qd5jQim7jt4vBWgnQRrbPOO/z TRaII+3J7RxHFgCezXX4yIuDLl02vEKlYitYbPfnqwlFoAGmCEXEfP+aS66Mww1qZEJDvTALzKf sbYtml9CweQfIfrwJEyQRQ64eEiFl2P2wLoLAx3tqS0Flxwq7wR1yZKeaNCegmR74lHVJK8Ub8k 2iJRz+pLLLH61U8/Hxsf2PFUTRlUqAo10VyoGLYepNKxcjGfbte8vZIHmrQaITsTi1J5bVZ58A/ CTHFrCdzxxFQQY9pWV7Ixpc15CCbs+6HqEW4vSCDbuemWijkkuMLOKWqtFYMrAzuwGN+kS97+L0 9Ecjseu4qdt/B8A== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Turn Sargun's internal kprobe based implementation of this into a normal static tracepoint. Also, remove the dprintk's that got added recently with the fix for zero-length ACLs. Cc: Sargun Dillon Signed-off-by: Jeff Layton --- fs/nfsd/trace.h | 35 +++++++++++++++++++++++++++++++++++ fs/nfsd/vfs.c | 5 ++--- include/trace/misc/fs.h | 21 +++++++++++++++++++++ 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 0d49fc064f7273f32c93732a993fd77bc0783f5d..c496fed58e2eed15458f35a158f= bfef39a972c55 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include =20 @@ -2337,6 +2338,40 @@ DEFINE_EVENT(nfsd_copy_async_done_class, \ DEFINE_COPY_ASYNC_DONE_EVENT(done); DEFINE_COPY_ASYNC_DONE_EVENT(cancel); =20 +TRACE_EVENT(nfsd_setattr, + TP_PROTO(const struct svc_rqst *rqstp, const struct svc_fh *fhp, + const struct iattr *iap, const struct timespec64 *guardtime), + TP_ARGS(rqstp, fhp, iap, guardtime), + TP_STRUCT__entry( + SVC_RQST_ENDPOINT_FIELDS(rqstp) + __field(u32, fh_hash) + __field(s64, gtime_tv_sec) + __field(u32, gtime_tv_nsec) + __field(unsigned int, ia_valid) + __field(loff_t, ia_size) + __field(uid_t, ia_uid) + __field(gid_t, ia_gid) + __field(umode_t, ia_mode) + ), + TP_fast_assign(__entry->xid =3D be32_to_cpu(rqstp->rq_xid); + SVC_RQST_ENDPOINT_ASSIGNMENTS(rqstp); + __entry->fh_hash =3D knfsd_fh_hash(&fhp->fh_handle); + __entry->gtime_tv_sec =3D guardtime ? guardtime->tv_sec : 0; + __entry->gtime_tv_nsec =3D guardtime ? guardtime->tv_nsec : 0; + __entry->ia_valid =3D iap->ia_valid; + __entry->ia_size =3D iap->ia_size; + __entry->ia_uid =3D __kuid_val(iap->ia_uid); + __entry->ia_gid =3D __kgid_val(iap->ia_gid); + __entry->ia_mode =3D iap->ia_mode; + ), + TP_printk( + "xid=3D0x%08x fh_hash=3D0x%08x ia_valid=3D%s ia_size=3D%llu ia_mode=3D0%= o ia_uid=3D%u ia_gid=3D%u guard_time=3D%lld.%u", + __entry->xid, __entry->fh_hash, show_ia_valid_flags(__entry->ia_valid), + __entry->ia_size, __entry->ia_mode, __entry->ia_uid, __entry->ia_gid, + __entry->gtime_tv_sec, __entry->gtime_tv_nsec + ) +) + #endif /* _NFSD_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index d1156a18a79579bf427fe5809dc93d06e241201e..77ae22abc1a21ec587cf089b2a5= f750464b5e985 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -501,7 +501,8 @@ nfsd_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp, bool size_change =3D (iap->ia_valid & ATTR_SIZE); int retries; =20 -dprintk("nfsd_setattr pacl=3D%p valid=3D0x%x\n", attr->na_pacl, iap->ia_va= lid); + trace_nfsd_setattr(rqstp, fhp, iap, guardtime); + if (iap->ia_valid & ATTR_SIZE) { accmode |=3D NFSD_MAY_WRITE|NFSD_MAY_OWNER_OVERRIDE; ftype =3D S_IFREG; @@ -597,7 +598,6 @@ dprintk("nfsd_setattr pacl=3D%p valid=3D0x%x\n", attr->= na_pacl, iap->ia_valid); NULL); } if (IS_ENABLED(CONFIG_FS_POSIX_ACL) && attr->na_pacl) { -dprintk("at set_posix_acl\n"); /* * For any file system that is not ACL_SCOPE_FILE_OBJECT, * a_count =3D=3D 0 MUST reply nfserr_inval. @@ -612,7 +612,6 @@ dprintk("at set_posix_acl\n"); attr->na_pacl); else attr->na_paclerr =3D -EINVAL; -dprintk("set_posix_acl=3D%d\n", attr->na_paclerr); } out_fill_attrs: /* diff --git a/include/trace/misc/fs.h b/include/trace/misc/fs.h index 738b97f22f3651f2370830037a8f4bfdf9a42ad4..0406ebe2a80a499dfcadb7e63db= 4d9e4a84d4d64 100644 --- a/include/trace/misc/fs.h +++ b/include/trace/misc/fs.h @@ -120,3 +120,24 @@ { LOOKUP_BENEATH, "BENEATH" }, \ { LOOKUP_IN_ROOT, "IN_ROOT" }, \ { LOOKUP_CACHED, "CACHED" }) + +#define show_ia_valid_flags(flags) \ + __print_flags(flags, "|", \ + { ATTR_MODE, "MODE" }, \ + { ATTR_UID, "UID" }, \ + { ATTR_GID, "GID" }, \ + { ATTR_SIZE, "SIZE" }, \ + { ATTR_ATIME, "ATIME" }, \ + { ATTR_MTIME, "MTIME" }, \ + { ATTR_CTIME, "CTIME" }, \ + { ATTR_ATIME_SET, "ATIME_SET" }, \ + { ATTR_MTIME_SET, "MTIME_SET" }, \ + { ATTR_FORCE, "FORCE" }, \ + { ATTR_KILL_SUID, "KILL_SUID" }, \ + { ATTR_KILL_SGID, "KILL_SGID" }, \ + { ATTR_FILE, "FILE" }, \ + { ATTR_KILL_PRIV, "KILL_PRIV" }, \ + { ATTR_OPEN, "OPEN" }, \ + { ATTR_TIMES_SET, "TIMES_SET" }, \ + { ATTR_TOUCH, "TOUCH"}, \ + { ATTR_DELEG, "DELEG"}) --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 963E42676D9; Wed, 9 Apr 2025 14:33:06 +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=1744209186; cv=none; b=IQi3rb7rl7Fe4YB5vUPYFqq1jb1n2AKaI87jJWG5PNvAfxGoQo3bp6pic8ZRjiB8khgqPTzQfrbbkzGqW1fBFCaCcUez8EzVJNd2GIHp/fANg7Z63pCUdl0PtfyCkIrbFMyc8NMpg/Gm26JbtfQCDWUJkUSbu2bzC0CM2WP9JdI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209186; c=relaxed/simple; bh=/KOiVKP/mQmiuytCVVn5ylF3FHBWBCxPKil6kEIiXok=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kLocWwsyn8A+o6CTMP+mVUTNpCqUAqc/V9um2wLtMDHYCNgAJeqnxNBtz9CnC9A7LnjzF9OKUejUH+M+TFxhdxYdMCjprnb+ryxToAmVHXyC9O0dSiDTBYPXSQBaY1n9uCJIxWb0mfildYdm+UlqFtmBABzY/oMFA5iiWF0UpaY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kCO4Q2fH; 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="kCO4Q2fH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90B3DC4CEE9; Wed, 9 Apr 2025 14:33:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209186; bh=/KOiVKP/mQmiuytCVVn5ylF3FHBWBCxPKil6kEIiXok=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=kCO4Q2fHYQBSPh9tk8oehxKKXEMBsfF0dSH+ctRcrJJu8FzTiFWOvPBNBHA7N8tIp Vy0qBbibv+qmnHSsAZ7hzy6viQfROpjjePa5lLqdHsczzVLhbOFuhxAlXWcbbrwP80 UNbK/iyyzTz+ILk+1RYPiFxLt0IjyTGrSrXpNg2/05+QIDdDs5edV6Xcw5mkJQ3dnJ XPJVhNOjHjNJv4ezUn0q4rIW1uliQBDXp9ed2xlY71hnNUxhBaPS4vxNDkQu7yIfr3 vX/LWFJiv21fKmo2ZuTJaF/+/4Djgx2lMulshrEqWDlOta+ytZe9hZtrZimQxTRAMM sXGbmw8uypQPg== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:27 -0400 Subject: [PATCH v2 05/12] nfsd: add a tracepoint to nfsd_lookup_dentry 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: <20250409-nfsd-tracepoints-v2-5-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=1596; i=jlayton@kernel.org; h=from:subject:message-id; bh=/KOiVKP/mQmiuytCVVn5ylF3FHBWBCxPKil6kEIiXok=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUaxPLdpG5t52q2LscinJDLxW04SnJkdNZc0 v5U98KSE+CJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGgAKCRAADmhBGVaC Fb+BD/4sa+W5ImWyE5XuqzRwNT1M3A92I6DMhGpSLDEkHZwGTm1f9rRN35wzOcCRsgbbU6OMxCa 2s87TjJZpPVBdrlj9KtMAMl4MXkvDdkG+/5UbF2NxpKLLHUFWPru+feS3oWkW1ET5LgJCq5S2TI o0DcwT0fhfYbnZRxit2YXUTQrz0R5pOucdQfHlDjFEDkdFbu31Oi24fxORYH6XlwK8+4pHfs9O2 O8xAN3p/8+PS80/Di6R27RPFWepjBy+ke1JyT3/3CgcKKzl+zVRbV2QzLLzp1ECDjwSGC/PRZmF /uZg+JT1dj0W8yP3RbVzHNMFO9cpi7/8azsgiM5HGMUslH9mHZUtBfRISJCP66BDHcADemnEf+w WI20ZEJ6OGQ7tjFS1ZZo0+VFMR7UDOTa3plBfQI3VFBmBnT0WlTKUeFeH1slPjmzlJK5IN3aPrZ ABidft9vbmMfxmILEUtKsPdi7TshmP5yXsVbx7gqz34Nz5FospzU99gFsmHsQu295DknWvG4E09 rU2nohWhcB1Y9AbXBzn/1q8wuhrggLK6eLjRzfJUACKZVzGm5aF3UMvk1m6Gn0ZCcdXWKferkBs Uct6g2ALDq7/bOssfsETR5lKO2A96mCwKPPJT8LBcn5OC7l+e/Bc+RUqunS/tMV/jYXbq94zjiX iLGm/wIgwMxIb4w== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 ...and drop the dprintk. Signed-off-by: Jeff Layton --- fs/nfsd/trace.h | 19 +++++++++++++++++++ fs/nfsd/vfs.c | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index c496fed58e2eed15458f35a158fbfef39a972c55..382849d7c321d6ded8213890c2e= 7075770aa716c 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -2372,6 +2372,25 @@ TRACE_EVENT(nfsd_setattr, ) ) =20 +TRACE_EVENT(nfsd_lookup_dentry, + TP_PROTO(struct svc_rqst *rqstp, + struct svc_fh *fhp, + const char *name, + unsigned int len), + TP_ARGS(rqstp, fhp, name, len), + TP_STRUCT__entry( + SVC_RQST_ENDPOINT_FIELDS(rqstp) + __field(u32, fh_hash) + __string_len(name, name, len) + ), + TP_fast_assign( + SVC_RQST_ENDPOINT_ASSIGNMENTS(rqstp); + __entry->fh_hash =3D knfsd_fh_hash(&fhp->fh_handle); + __assign_str(name); + ), + TP_printk("xid=3D0x%08x fh_hash=3D0x%08x name=3D%s", + __entry->xid, __entry->fh_hash, __get_str(name)) +); #endif /* _NFSD_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 77ae22abc1a21ec587cf089b2a5f750464b5e985..2b96806111d6a45b351707db6a9= 3219cb91d45f5 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -246,7 +246,7 @@ nfsd_lookup_dentry(struct svc_rqst *rqstp, struct svc_f= h *fhp, struct dentry *dentry; int host_err; =20 - dprintk("nfsd: nfsd_lookup(fh %s, %.*s)\n", SVCFH_fmt(fhp), len,name); + trace_nfsd_lookup_dentry(rqstp, fhp, name, len); =20 dparent =3D fhp->fh_dentry; exp =3D exp_get(fhp->fh_export); --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 2691025D908; Wed, 9 Apr 2025 14:33:07 +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=1744209188; cv=none; b=JTew4FLbublAc5hpbmBaguaILMzkq8nBZ10KRC45Z+sx72WxtI7e25RfPqdQz3rSW6Ws+wLuMJzug0azHzMg+tvwh31MnkK3C3zYeiklgwgTX8PrCBEFXArtaxpEw8sGOqzRXNR/4Cv2JPGLZUwNahy+r12KuxD2OXvMgqaluJU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209188; c=relaxed/simple; bh=zAC5eP0LXF+hgwORpWpvsUmRBvw+t8mnhNhIY/cgPIQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JxW8rZLMf5Md2Nat0xAWq2RWN008/tjBgvVaAnr8+LbLOiTQsRb24UUy+JcJBai9WLMZrG4aTe/Pf4GnR6udF1uhMtjg8MWHu08YP2V5Z9RmhTgqHqRuQJifTYyICHEdrbhghEpQPHdebtlcQxFKpenKLZXHQX/+5+ARcDaeKko= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=q107yTs3; 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="q107yTs3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6C79C4CEEC; Wed, 9 Apr 2025 14:33:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209187; bh=zAC5eP0LXF+hgwORpWpvsUmRBvw+t8mnhNhIY/cgPIQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=q107yTs3+mm02BTQzIYlQYquns9ujrtYj2Qu5Fj0GBStTvfz8XFVnb4miFzxrnDq3 wdyH25GlP/zq+4j4hbPB+4YcSedkB6M7Ckxq5RNT2BELLNRJ1Xuwf3O/IF3EocbfYO z+5oeBdhAxdLJlmuT0my4TXB6h+DhROo8qPj3bTYcp9LK7OpnWwdUCymApKogJq2ni LVu2gDR3nbOTjWvYKWNR/NiStBg2fPyUniVcZiEf50VjFmMelqeitA2hUoiSrpEalK GzI+8QaVm3JmfDsYpdTXc3D0nlq6WGZj08GOdU7H3lnGjxonrrATcxGC5Kn4g+iUa5 KEyGW8wO23eiw== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:28 -0400 Subject: [PATCH v2 06/12] nfsd: add tracepoints around nfsd_create 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: <20250409-nfsd-tracepoints-v2-6-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=6343; i=jlayton@kernel.org; h=from:subject:message-id; bh=zAC5eP0LXF+hgwORpWpvsUmRBvw+t8mnhNhIY/cgPIQ=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUa+OgcktwyR8lbU2wdUf24sVUU7rVawtqnH obmVMeNm5+JAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGgAKCRAADmhBGVaC FQCwD/wOA2Uel01YilhIR4K7BPvlJ2IfGvxwykJZLkSvP0bJvluO1HOpdWk+t8+q57faUkoKTDM hEJSBwJQKCjLzC3cEFcym++GVezNeZ5arl7b0O0X8sOUP+cScvRnxGoXxJEtFUmbUYtKz03f+TB hGroFkTjqkXs/zvVU3hjXCSvxvom8rb3B6/7C9eM/VkpjcTsArLxx2ITHsCnm3yD/eCtAxOwasR HCI/AFldw3t4cLCSG7tIAq//Ytt7gC9Nv2WmVyPy6GMrkgLXHa85aNNaA5aG55TCL8oIId247pE a3yhKOwDVsLAuRSrKvqTq8qnEgGkKxGiWhAdNcatU2g3M2XNZvQ4sK+TaF2LcXMnDk06f6/biIl PJZQDGlyQSHhBw35uJqJXATYXRwmGvqrEVztTfoOzFrjJfU3QHGE+P1xVuqgB6J1eXuuBa8tExo lRWISIywp+HLWpw3RHYRkf+l7h8n4g4lFSxGJMQDguY3E2UjTTt7HCm/E/PekqXOHsUb4YJtO/i FF6mGDYEeEWPcIrnkkibtZdLocieKMH2LamI9GGl+m+HL/YtIa3QBRszKlToL6TBeUH8AZEzygG gmLoTokxoez5CF95vHynCCUShA7vVvNre+WlK+eht0S/11Qy0DyvwQT2nFU3GAEL1gxHUlwp7yl xymF3XKi8X9hoDg== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 ...and remove the legacy dprintks. Signed-off-by: Jeff Layton --- fs/nfsd/nfs3proc.c | 18 +++++------------- fs/nfsd/nfs4proc.c | 29 +++++++++++++++++++++++++++++ fs/nfsd/nfsproc.c | 6 +++--- fs/nfsd/trace.h | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+), 16 deletions(-) diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index 372bdcf5e07a5c835da240ecebb02e3576eb2ca6..ea1280970ea11b2a82f0de88ad0= 422eef7063d6d 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c @@ -14,6 +14,7 @@ #include "xdr3.h" #include "vfs.h" #include "filecache.h" +#include "trace.h" =20 #define NFSDDBG_FACILITY NFSDDBG_PROC =20 @@ -380,10 +381,7 @@ nfsd3_proc_create(struct svc_rqst *rqstp) struct nfsd3_diropres *resp =3D rqstp->rq_resp; svc_fh *dirfhp, *newfhp; =20 - dprintk("nfsd: CREATE(3) %s %.*s\n", - SVCFH_fmt(&argp->fh), - argp->len, - argp->name); + trace_nfsd3_proc_create(rqstp, &argp->fh, S_IFREG, argp->name, argp->len); =20 dirfhp =3D fh_copy(&resp->dirfh, &argp->fh); newfhp =3D fh_init(&resp->fh, NFS3_FHSIZE); @@ -405,10 +403,7 @@ nfsd3_proc_mkdir(struct svc_rqst *rqstp) .na_iattr =3D &argp->attrs, }; =20 - dprintk("nfsd: MKDIR(3) %s %.*s\n", - SVCFH_fmt(&argp->fh), - argp->len, - argp->name); + trace_nfsd3_proc_mkdir(rqstp, &argp->fh, S_IFDIR, argp->name, argp->len); =20 argp->attrs.ia_valid &=3D ~ATTR_SIZE; fh_copy(&resp->dirfh, &argp->fh); @@ -471,13 +466,10 @@ nfsd3_proc_mknod(struct svc_rqst *rqstp) struct nfsd_attrs attrs =3D { .na_iattr =3D &argp->attrs, }; - int type; + int type =3D nfs3_ftypes[argp->ftype]; dev_t rdev =3D 0; =20 - dprintk("nfsd: MKNOD(3) %s %.*s\n", - SVCFH_fmt(&argp->fh), - argp->len, - argp->name); + trace_nfsd3_proc_mknod(rqstp, &argp->fh, type, argp->name, argp->len); =20 fh_copy(&resp->dirfh, &argp->fh); fh_init(&resp->fh, NFS3_FHSIZE); diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 6e23d6103010197c0316b07c189fe12ec3033812..2c795103deaa4044596bd07d90d= b788169a32a0c 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -250,6 +250,8 @@ nfsd4_create_file(struct svc_rqst *rqstp, struct svc_fh= *fhp, __be32 status; int host_err; =20 + trace_nfsd4_create_file(rqstp, fhp, S_IFREG, open->op_fname, open->op_fna= melen); + if (isdotent(open->op_fname, open->op_fnamelen)) return nfserr_exist; if (!(iap->ia_valid & ATTR_MODE)) @@ -807,6 +809,29 @@ nfsd4_commit(struct svc_rqst *rqstp, struct nfsd4_comp= ound_state *cstate, return status; } =20 +static umode_t nfs_type_to_vfs_type(enum nfs_ftype4 nfstype) +{ + switch (nfstype) { + case NF4REG: + return S_IFREG; + case NF4DIR: + return S_IFDIR; + case NF4BLK: + return S_IFBLK; + case NF4CHR: + return S_IFCHR; + case NF4LNK: + return S_IFLNK; + case NF4SOCK: + return S_IFSOCK; + case NF4FIFO: + return S_IFIFO; + default: + break; + } + return 0; +} + static __be32 nfsd4_create(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) @@ -822,6 +847,10 @@ nfsd4_create(struct svc_rqst *rqstp, struct nfsd4_comp= ound_state *cstate, __be32 status; dev_t rdev; =20 + trace_nfsd4_create(rqstp, &cstate->current_fh, + nfs_type_to_vfs_type(create->cr_type), + create->cr_name, create->cr_namelen); + fh_init(&resfh, NFS4_FHSIZE); =20 status =3D fh_verify(rqstp, &cstate->current_fh, S_IFDIR, NFSD_MAY_NOP); diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index 6dda081eb24c00b834ab0965c3a35a12115bceb7..33d8cbf8785588d38d4ec5efd76= 9c1d1d06c6a91 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c @@ -10,6 +10,7 @@ #include "cache.h" #include "xdr.h" #include "vfs.h" +#include "trace.h" =20 #define NFSDDBG_FACILITY NFSDDBG_PROC =20 @@ -292,8 +293,7 @@ nfsd_proc_create(struct svc_rqst *rqstp) int hosterr; dev_t rdev =3D 0, wanted =3D new_decode_dev(attr->ia_size); =20 - dprintk("nfsd: CREATE %s %.*s\n", - SVCFH_fmt(dirfhp), argp->len, argp->name); + trace_nfsd_proc_create(rqstp, dirfhp, S_IFREG, argp->name, argp->len); =20 /* First verify the parent file handle */ resp->status =3D fh_verify(rqstp, dirfhp, S_IFDIR, NFSD_MAY_EXEC); @@ -548,7 +548,7 @@ nfsd_proc_mkdir(struct svc_rqst *rqstp) .na_iattr =3D &argp->attrs, }; =20 - dprintk("nfsd: MKDIR %s %.*s\n", SVCFH_fmt(&argp->fh), argp->len, argp= ->name); + trace_nfsd_proc_mkdir(rqstp, &argp->fh, S_IFDIR, argp->name, argp->len); =20 if (resp->fh.fh_dentry) { printk(KERN_WARNING diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 382849d7c321d6ded8213890c2e7075770aa716c..c6aff23a845f06c87e701d57ec5= 77c2c5c5a743c 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -2391,6 +2391,45 @@ TRACE_EVENT(nfsd_lookup_dentry, TP_printk("xid=3D0x%08x fh_hash=3D0x%08x name=3D%s", __entry->xid, __entry->fh_hash, __get_str(name)) ); + +DECLARE_EVENT_CLASS(nfsd_vfs_create_class, + TP_PROTO(struct svc_rqst *rqstp, + struct svc_fh *fhp, + umode_t type, + const char *name, + unsigned int len), + TP_ARGS(rqstp, fhp, type, name, len), + TP_STRUCT__entry( + SVC_RQST_ENDPOINT_FIELDS(rqstp) + __field(u32, fh_hash) + __field(umode_t, type) + __string_len(name, name, len) + ), + TP_fast_assign( + SVC_RQST_ENDPOINT_ASSIGNMENTS(rqstp); + __entry->fh_hash =3D knfsd_fh_hash(&fhp->fh_handle); + __entry->type =3D type; + __assign_str(name); + ), + TP_printk("xid=3D0x%08x fh_hash=3D0x%08x type=3D%s name=3D%s", + __entry->xid, __entry->fh_hash, + show_fs_file_type(__entry->type), __get_str(name)) +); + +#define DEFINE_NFSD_VFS_CREATE_EVENT(__name) \ + DEFINE_EVENT(nfsd_vfs_create_class, __name, \ + TP_PROTO(struct svc_rqst *rqstp, struct svc_fh *fhp, \ + umode_t type, const char *name, unsigned int len), \ + TP_ARGS(rqstp, fhp, type, name, len)) + +DEFINE_NFSD_VFS_CREATE_EVENT(nfsd_proc_create); +DEFINE_NFSD_VFS_CREATE_EVENT(nfsd_proc_mkdir); +DEFINE_NFSD_VFS_CREATE_EVENT(nfsd3_proc_create); +DEFINE_NFSD_VFS_CREATE_EVENT(nfsd3_proc_mkdir); +DEFINE_NFSD_VFS_CREATE_EVENT(nfsd3_proc_mknod); +DEFINE_NFSD_VFS_CREATE_EVENT(nfsd4_create); +DEFINE_NFSD_VFS_CREATE_EVENT(nfsd4_create_file); + #endif /* _NFSD_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 1C7E9267AF7; Wed, 9 Apr 2025 14:33:08 +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=1744209189; cv=none; b=MfGIH4hlt7UvjHZCef824XCkQzmX+ckPLdGxlCb1qbPDevP/N1/zpLd8UxE9qB+IGzGyZaf8pjT8GgxXna4nXCLzyBwAacEwqkAxTQJXbVZtug+t6NMRyxeQcfORScFcGT0VMoOeXLU1bK4NEQqkldjKyqPl0Ct2roFc//28L5U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209189; c=relaxed/simple; bh=ekUDtU0ckGeDcsMCKYAcCgd1T5HW+m+3MYIY/k+QHlo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RrXGKgWdNRpiFiJ6ZbeMHG3UgWaAtBXexCll1+XrLFcYwXXA6BIJExVMZsLOXsf7/Q3p3rlcECU5tk4OnHOczU2HKNE/9jZDuvXzjugr5yyuX9bmi7S/v0GkOhL3JUPP74HrVlONwqqeANkq8/c7XcBJQEjyE3yMzkXunYSeBuU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Tys4fbeJ; 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="Tys4fbeJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BA7B8C4CEE9; Wed, 9 Apr 2025 14:33:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209188; bh=ekUDtU0ckGeDcsMCKYAcCgd1T5HW+m+3MYIY/k+QHlo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Tys4fbeJu83/cY8C8+fskxatUevxi6bhwNT5jCBt3Czh7c/5lCqv4qU80ljtm+nsi A/J9utegfxWOZZ4vAP8CWfNg1ExZEu+NyR3ZS6kp0LOIb1qIsYybXtJpsjrX2IFftO HekMX7r3GHA7a1OgqF/q3tSPq/PiNFiEDbislVQwcHIhRFA1suJ8wAhq7v8zjN4GgV M+9uD6ssLzsIKGOCi8sdwB2PY+6ITL2Oz4jrsSN1usvkHXGEHBkE0cvLdl6skcUEH3 sdvvgL6WKJJ13E74wuewTU8WC/PMqts5aeEQyoseulvjTDuHr9oh8kSZ8gKv5EBC5K ufNJNsi8lDxiw== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:29 -0400 Subject: [PATCH v2 07/12] nfsd: add tracepoints for symlink 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: <20250409-nfsd-tracepoints-v2-7-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=4368; i=jlayton@kernel.org; h=from:subject:message-id; bh=ekUDtU0ckGeDcsMCKYAcCgd1T5HW+m+3MYIY/k+QHlo=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUasbGQ0nDBUIo1tqWpeldYe2wlnI9MgxrON nEQMrEnHDmJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGgAKCRAADmhBGVaC FR+QD/0bTiH3CTaaKlaYw9cnL9R1uU/mxQUdAuY/B7tzcm/tpy4GV+UBFF26H0dgWBbatF8kqdZ azGMZLEdQ1muFx//XNsETF0Fas1i5uNZ1cowctsoJd5B4mdrlMUzWYq6AlEWRkYHMA+O9Bi9OtY SkhfvmGKOCqqI7cPKBKqqj+4wpbnNY7aHX9TZmFBEl9gJmpNilWCCfzWE/d4GpQLCK4c2JEr0bt iEFLF5vRbo4H/L1ez4JvuRfryw9di6uzeUnexVqOIisHQrWKFQE2QRxI04sVD+3Mhf62CzZXi8R Pb/eEcP32BGB71Jrco7r+jjO02EgaSJW3U4plVb9LVRQPX95PoRxoNQfaauanKBwz0lKIJt578H c4d7tWg3Z5tu0QEvJYL2A/IjM5rp4FVq11o4JzEJzpzVeggIKWNFJhR+DB3GkFxi1pxHKLaB3uy UJ4mBxxXm77IktahQ1eomGDglSHm8am59tqAYzesCV+v8lNXq2BHBH2qM3adavu5L0UpDv6BGOc hOTAJpbzJulUG8FSB1TPMeJ8jsNJMc42eZ2K0ajMlCeMxjjJK1nuBF7k2rATTvQzISnbBxqr0Vv 6BILheVDyp71DlOpnSBMOo658Afi4Pks9y5dAFH6oEgpYIjDBMgBpP5PAN7DY7CTYDrbE/FcrbJ 7yL4Gt5iDlM56ZA== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 ...and remove the legacy dprintks. Signed-off-by: Jeff Layton --- fs/nfsd/nfs3proc.c | 8 +++----- fs/nfsd/nfs4proc.c | 3 +++ fs/nfsd/nfsproc.c | 7 +++---- fs/nfsd/trace.h | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 9 deletions(-) diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index ea1280970ea11b2a82f0de88ad0422eef7063d6d..587fc92597e7c77d078e871b8d1= 2684c6b5efa2d 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c @@ -423,6 +423,9 @@ nfsd3_proc_symlink(struct svc_rqst *rqstp) .na_iattr =3D &argp->attrs, }; =20 + trace_nfsd3_proc_symlink(rqstp, &argp->ffh, argp->fname, argp->flen, + argp->tname, argp->tlen); + if (argp->tlen =3D=3D 0) { resp->status =3D nfserr_inval; goto out; @@ -440,11 +443,6 @@ nfsd3_proc_symlink(struct svc_rqst *rqstp) goto out; } =20 - dprintk("nfsd: SYMLINK(3) %s %.*s -> %.*s\n", - SVCFH_fmt(&argp->ffh), - argp->flen, argp->fname, - argp->tlen, argp->tname); - fh_copy(&resp->dirfh, &argp->ffh); fh_init(&resp->fh, NFS3_FHSIZE); resp->status =3D nfsd_symlink(rqstp, &resp->dirfh, argp->fname, diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 2c795103deaa4044596bd07d90db788169a32a0c..e22596a2e311861be1e4f595d77= 547be04634ce7 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -873,6 +873,9 @@ nfsd4_create(struct svc_rqst *rqstp, struct nfsd4_compo= und_state *cstate, current->fs->umask =3D create->cr_umask; switch (create->cr_type) { case NF4LNK: + trace_nfsd4_symlink(rqstp, &cstate->current_fh, + create->cr_name, create->cr_namelen, + create->cr_data, create->cr_datalen); status =3D nfsd_symlink(rqstp, &cstate->current_fh, create->cr_name, create->cr_namelen, create->cr_data, &attrs, &resfh); diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index 33d8cbf8785588d38d4ec5efd769c1d1d06c6a91..0674ed6b978f6caa1325a9271f2= fde9b3ef60945 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c @@ -506,6 +506,9 @@ nfsd_proc_symlink(struct svc_rqst *rqstp) }; struct svc_fh newfh; =20 + trace_nfsd_proc_symlink(rqstp, &argp->ffh, argp->fname, argp->flen, + argp->tname, argp->tlen); + if (argp->tlen > NFS_MAXPATHLEN) { resp->status =3D nfserr_nametoolong; goto out; @@ -519,10 +522,6 @@ nfsd_proc_symlink(struct svc_rqst *rqstp) goto out; } =20 - dprintk("nfsd: SYMLINK %s %.*s -> %.*s\n", - SVCFH_fmt(&argp->ffh), argp->flen, argp->fname, - argp->tlen, argp->tname); - fh_init(&newfh, NFS_FHSIZE); resp->status =3D nfsd_symlink(rqstp, &argp->ffh, argp->fname, argp->flen, argp->tname, &attrs, &newfh); diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index c6aff23a845f06c87e701d57ec577c2c5c5a743c..850dbf1240b234b67dd7d75d690= 3c0f49dc01261 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -2430,6 +2430,41 @@ DEFINE_NFSD_VFS_CREATE_EVENT(nfsd3_proc_mknod); DEFINE_NFSD_VFS_CREATE_EVENT(nfsd4_create); DEFINE_NFSD_VFS_CREATE_EVENT(nfsd4_create_file); =20 +DECLARE_EVENT_CLASS(nfsd_vfs_symlink_class, + TP_PROTO(struct svc_rqst *rqstp, + struct svc_fh *fhp, + const char *name, + unsigned int namelen, + const char *tgt, + unsigned int tgtlen), + TP_ARGS(rqstp, fhp, name, namelen, tgt, tgtlen), + TP_STRUCT__entry( + SVC_RQST_ENDPOINT_FIELDS(rqstp) + __field(u32, fh_hash) + __string_len(name, name, namelen) + __string_len(tgt, tgt, tgtlen) + ), + TP_fast_assign( + SVC_RQST_ENDPOINT_ASSIGNMENTS(rqstp); + __entry->fh_hash =3D knfsd_fh_hash(&fhp->fh_handle); + __assign_str(name); + __assign_str(tgt); + ), + TP_printk("xid=3D0x%08x fh_hash=3D0x%08x name=3D%s target=3D%s", + __entry->xid, __entry->fh_hash, + __get_str(name), __get_str(tgt)) +); + +#define DEFINE_NFSD_VFS_SYMLINK_EVENT(__name) \ + DEFINE_EVENT(nfsd_vfs_symlink_class, __name, \ + TP_PROTO(struct svc_rqst *rqstp, struct svc_fh *fhp, \ + const char *name, unsigned int namelen, \ + const char *tgt, unsigned int tgtlen), \ + TP_ARGS(rqstp, fhp, name, namelen, tgt, tgtlen)) + +DEFINE_NFSD_VFS_SYMLINK_EVENT(nfsd_proc_symlink); +DEFINE_NFSD_VFS_SYMLINK_EVENT(nfsd3_proc_symlink); +DEFINE_NFSD_VFS_SYMLINK_EVENT(nfsd4_symlink); #endif /* _NFSD_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 C8FE7267B7D; Wed, 9 Apr 2025 14:33: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=1744209189; cv=none; b=hnvyRQwFCkm6qn1KHl7vHRK/ox8fLpLWcqqG66xomyRdwk00VCmEIS+x9TnX20qpPUBjGv3q1oU3MUMqd2VSvmyCgTMqYGFUzQ0vpKZsOJtZ1sa6P84z7SIuI+7+GJWYlcIbMwbqSmYtOn/MAzGsLkKOgRTbNQQeanzqUSbP+Ho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209189; c=relaxed/simple; bh=BQLvPi5adL0wTtZSKVY7dNZq7GWhrzHDPslTRMLDCZM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kpNy66h2kMJn8cPzX2sy4bo6p5ucsK/affgpwKKdE4u4Fhfa265MWjmeIWzApXISOQ1sZBlLxrElMeiP1NHQx3WR0djkMhMiKBbV4boeLu0tU+iOnvLRTpRyeT8z8De0MQzcK3+WYfQ40UEKmcQj3d3WO4HUsOkRdAgFh30/GaA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OTTuPrCc; 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="OTTuPrCc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CCEF8C4CEE7; Wed, 9 Apr 2025 14:33:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209189; bh=BQLvPi5adL0wTtZSKVY7dNZq7GWhrzHDPslTRMLDCZM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=OTTuPrCcD3MU+xlHx5csmDDmzZFk6kx9lhQH3O74SO1OcBfj/LdMYUDUjCJMTZUyz OSHYBmAS6EwpBvovFgqBTcsCvvp9BzP3hg8wPNJONpjuFyZGIF5bKi4e5w/eaH+VN+ yfidYCEUKIVm4QKBdLgf9ElzWL1yVFW+7z1uoxf6MzhDWTpnztMr02XLFPYzMHu//x XHCL5TrzwqEkygvKcFwhyJIij7ql12x/I90jrjpULulP0sekc34APM/dC5ca7hG8tw ivcr/PEUk6XpOhtliubYUI5e8IowKYmoP1ia2jWaCFxeZxlHxrNiPIBvwrt3UzVpAV F5hUIMKxO2y+w== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:30 -0400 Subject: [PATCH v2 08/12] nfsd: add tracepoints for hardlink 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: <20250409-nfsd-tracepoints-v2-8-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=3960; i=jlayton@kernel.org; h=from:subject:message-id; bh=BQLvPi5adL0wTtZSKVY7dNZq7GWhrzHDPslTRMLDCZM=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUbOH5ZxnvvfUd490wSsweIgCzLwzty4dXjs kt29Z2ATO+JAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGwAKCRAADmhBGVaC FVK1D/912/NCdBc/qNMMlZoaLK7/ZGfWHFbLEdvI8aPGsNWfo+pzhVetamRlpz5gWd930mlJwgN KlGe/H6lo6QopgTZKXWDfSCVCxfMSJVVubz2YhKw9kwnyj/7umUsCioid6OwD9dDdb8pYaTu016 w3f05NzVbFJgeoLwUEp88tnFASHRfGkmd0D5eLWfl+WeRj4pjgr5gQLTu8P0S8el20Grt7Wu8f0 FqdTIywPUYgTNvQtANKMMxOK2/zuWoT1SpCF+9b4zv16rDLn4Q3zxm+RZPTwqy7ah8wj9nOX4AO Zu+cxH36Ul9A5U+5FVbrcvr9oD9vJRd/5tO0hWthVgkz0+K+/Kn3z6dnfKjByfIa8ltw6NblVMT nU8kvs7C1wBvd4GWUwjHCuZT0lgQEVveIW9C1s/LtnagunhQKA5+xK0mgm7djnQ6cIoyStzi0L5 Z+PusxOAnacQWzIuJ1nm0VhckG9IWhXOJQPWktuCPDJ8h1Ur2RwMbBZk8HA/6un3bMdpy3yK9lo UxqW377MiSOQnhFAjlxnqRX+oSBnoJBCMbPMf1QjElWvt6G3V74j33xkjs3efLpZG0AUS+RtUTP WBq5OVG0H1tc1U5WpNbY6eWm1vmAYMAtCqMheO/IrmDYenv7a0CLVZOOoa50G0Dd2cWzSJM/32O 4I3cr54okMF3a3A== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 ...and remove the legacy dprintks. Signed-off-by: Jeff Layton --- fs/nfsd/nfs3proc.c | 7 +------ fs/nfsd/nfs4proc.c | 3 +++ fs/nfsd/nfsproc.c | 7 +------ fs/nfsd/trace.h | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 12 deletions(-) diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index 587fc92597e7c77d078e871b8d12684c6b5efa2d..97aaf98d0af7dc565b21937ecca= 4852dd9253221 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c @@ -564,12 +564,7 @@ nfsd3_proc_link(struct svc_rqst *rqstp) struct nfsd3_linkargs *argp =3D rqstp->rq_argp; struct nfsd3_linkres *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: LINK(3) %s ->\n", - SVCFH_fmt(&argp->ffh)); - dprintk("nfsd: -> %s %.*s\n", - SVCFH_fmt(&argp->tfh), - argp->tlen, - argp->tname); + trace_nfsd_proc_link(rqstp, &argp->ffh, &argp->tfh, argp->tname, argp->tl= en); =20 fh_copy(&resp->fh, &argp->ffh); fh_copy(&resp->tfh, &argp->tfh); diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index e22596a2e311861be1e4f595d77547be04634ce7..7dffae2f16d9fa8dea043b7bf30= 0eaca52c0aa7c 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -977,6 +977,9 @@ nfsd4_link(struct svc_rqst *rqstp, struct nfsd4_compoun= d_state *cstate, struct nfsd4_link *link =3D &u->link; __be32 status; =20 + trace_nfsd4_link(rqstp, &cstate->save_fh, &cstate->current_fh, + link->li_name, link->li_namelen); + status =3D nfsd_link(rqstp, &cstate->current_fh, link->li_name, link->li_namelen, &cstate->save_fh); if (!status) diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index 0674ed6b978f6caa1325a9271f2fde9b3ef60945..b40b5ab1d3b17dd8974fcaeda3a= c7c26baee67cf 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c @@ -481,12 +481,7 @@ nfsd_proc_link(struct svc_rqst *rqstp) struct nfsd_linkargs *argp =3D rqstp->rq_argp; struct nfsd_stat *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: LINK %s ->\n", - SVCFH_fmt(&argp->ffh)); - dprintk("nfsd: %s %.*s\n", - SVCFH_fmt(&argp->tfh), - argp->tlen, - argp->tname); + trace_nfsd_proc_link(rqstp, &argp->ffh, &argp->tfh, argp->tname, argp->tl= en); =20 resp->status =3D nfsd_link(rqstp, &argp->tfh, argp->tname, argp->tlen, &argp->ffh); diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 850dbf1240b234b67dd7d75d6903c0f49dc01261..9ff919a08f424bfe023cf91244f= e08effbdf993e 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -2465,6 +2465,41 @@ DECLARE_EVENT_CLASS(nfsd_vfs_symlink_class, DEFINE_NFSD_VFS_SYMLINK_EVENT(nfsd_proc_symlink); DEFINE_NFSD_VFS_SYMLINK_EVENT(nfsd3_proc_symlink); DEFINE_NFSD_VFS_SYMLINK_EVENT(nfsd4_symlink); + +DECLARE_EVENT_CLASS(nfsd_vfs_link_class, + TP_PROTO(struct svc_rqst *rqstp, + struct svc_fh *sfhp, + struct svc_fh *tfhp, + const char *name, + unsigned int namelen), + TP_ARGS(rqstp, sfhp, tfhp, name, namelen), + TP_STRUCT__entry( + SVC_RQST_ENDPOINT_FIELDS(rqstp) + __field(u32, sfh_hash) + __field(u32, tfh_hash) + __string_len(name, name, namelen) + ), + TP_fast_assign( + SVC_RQST_ENDPOINT_ASSIGNMENTS(rqstp); + __entry->sfh_hash =3D knfsd_fh_hash(&sfhp->fh_handle); + __entry->tfh_hash =3D knfsd_fh_hash(&tfhp->fh_handle); + __assign_str(name); + ), + TP_printk("xid=3D0x%08x src_fh=3D0x%08x tgt_fh=3D0x%08x name=3D%s", + __entry->xid, __entry->sfh_hash, __entry->tfh_hash, + __get_str(name)) +); + +#define DEFINE_NFSD_VFS_LINK_EVENT(__name) \ + DEFINE_EVENT(nfsd_vfs_link_class, __name, \ + TP_PROTO(struct svc_rqst *rqstp, struct svc_fh *sfhp, \ + struct svc_fh *tfhp, const char *name, \ + unsigned int namelen), \ + TP_ARGS(rqstp, sfhp, tfhp, name, namelen)) + +DEFINE_NFSD_VFS_LINK_EVENT(nfsd_proc_link); +DEFINE_NFSD_VFS_LINK_EVENT(nfsd3_proc_link); +DEFINE_NFSD_VFS_LINK_EVENT(nfsd4_link); #endif /* _NFSD_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 53738267F79; Wed, 9 Apr 2025 14:33: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=1744209191; cv=none; b=KEGyWhOVv1OZzhvH9aIYXHuIYlhHzzG3xqMPhYFYuBjWr+M6D3ULmRCg32X10weJcgQjPuZCxTYbRxjv8kUoKz3iW41TaDOiny9o+5fP74Sl6uOEIKkCyo4TP2gv4DVfyt1nsQ6Iri9yFxoBqd6j0GRD6Tf7FCRw0hsRV1xcqG4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209191; c=relaxed/simple; bh=3lBHNRhbn3AyscwreqTw127PVjP+C97TIOi1V8Aszcg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LaR74r71Qx3NU8f5KNQKy9gJGL5WFJWvjsYfGSG6YwaNfXgxmdb4ar+vJLQVArgx/t0e38/BruyAMJD1li9VKlzsFKFFLx1bwC+kThJGtUsMwS564DpynWFdKBACmdAB4dF5brO+Vlvmfk2JdYMTZAmrB6l5xd8lmRvVvsEsRj4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HMwJfusd; 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="HMwJfusd" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E1C12C4AF0C; Wed, 9 Apr 2025 14:33:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209190; bh=3lBHNRhbn3AyscwreqTw127PVjP+C97TIOi1V8Aszcg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=HMwJfusdPxV8voWS7Sqw2PBQO6q5upDqmm2/Yo9E8uvCMwGMKLMbDRizirIkEohMK xSFK0LwKrU2SYjUu9xw4HRqeKKIkt5fElSm70M37P3WvhIBcR2NB9yLSCtOJvWWeTI Fvu2UxREQRJSTpsiB3q+tSf0tOeETs4Ya4rEJJAIXkMznCCY/7MIlBlBNYbq6ei4CS flh/FCVLSqVRho7+RUDhQmlAePI6m2vRtgQdNbxOJUiP2jKlyv+3XY7I10hp89qZgC imb9fMYKUqbB5vONX/U0eCQiruwgYqA7HPcT3m234HfoZvD6ddg3KwmAuBKzKrgdna O1p/WO3EL3NVQ== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:31 -0400 Subject: [PATCH v2 09/12] nfsd: add tracepoints for unlink 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: <20250409-nfsd-tracepoints-v2-9-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=4556; i=jlayton@kernel.org; h=from:subject:message-id; bh=3lBHNRhbn3AyscwreqTw127PVjP+C97TIOi1V8Aszcg=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUbB1oc1qBHjTKKUupXcV+Lp28pd7wRhuufh OsyAZPZKi2JAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGwAKCRAADmhBGVaC Fa3OEAC0HXdQHCfGj5TMz1y7xL4fE7crJNIFSPJViMYkZMkU5Px+tBZy31jznxY0TKewDu0GvPR YPgDckRf/srWi3yVCEy5CGOYcaaIaTJ5yq4Lt/+d9o4ZNAvfb/9nzGDJCwZY3Ke2+98+DGcGieQ yEaUI7p6XbnYc2mE9ax0mgLSTQTfyyQzNOB//W4DSNeA6vOHm+ERC/oNdYg4NPymcYMar+w/Wes n5jnvf/VXkqGY/YwGI63iCENvPs4mVSEivY1VFZD9KJlbWEC2SUlOeTACK41LePP956HtsM5P3S +rm1uwdBVI9FWdTQehYFy6PdNH078lFOh0t39GhXXwC7QvtCkGAoprWB8k/khLoOj5L6Qhn5uIk WzBD/rM8ds3H/WNxQFgb43iX3GlQiY6SoOxK9/FqQaijS3mnbjo/m3RbkFmY1wDwMONwvvQRX5c bo+5waTt56qdW4hXNyIvqGnQl+q9zWdUV6YSNnekxHjMfsLoC6zcyTFc6pDc++ued3aN1z832EZ AHvBzE3DKIPcXbWJumEa0nt4p20myM2el0DHqVd5PyYtR1V7c7mpKLAsQ3IbhShDim2sCIMNsQQ TGtw6wbzxgAc2b3ErF6NQ5zCYn+xdlFqSz+gUkinXS+/+r6P3pqgj6VCgLv7giS1hf2TeHic4yZ XmWcY+LElztba2g== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 ...and remove the legacy dprintks. Signed-off-by: Jeff Layton --- fs/nfsd/nfs3proc.c | 10 ++-------- fs/nfsd/nfs4proc.c | 2 ++ fs/nfsd/nfsproc.c | 5 ++--- fs/nfsd/trace.h | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 11 deletions(-) diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index 97aaf98d0af7dc565b21937ecca4852dd9253221..8893bf5e0b1d15b24e9c2c71fa1= a8a09586a03d3 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c @@ -501,10 +501,7 @@ nfsd3_proc_remove(struct svc_rqst *rqstp) struct nfsd3_diropargs *argp =3D rqstp->rq_argp; struct nfsd3_attrstat *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: REMOVE(3) %s %.*s\n", - SVCFH_fmt(&argp->fh), - argp->len, - argp->name); + trace_nfsd3_proc_remove(rqstp, &argp->fh, argp->name, argp->len); =20 /* Unlink. -S_IFDIR means file must not be a directory */ fh_copy(&resp->fh, &argp->fh); @@ -523,10 +520,7 @@ nfsd3_proc_rmdir(struct svc_rqst *rqstp) struct nfsd3_diropargs *argp =3D rqstp->rq_argp; struct nfsd3_attrstat *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: RMDIR(3) %s %.*s\n", - SVCFH_fmt(&argp->fh), - argp->len, - argp->name); + trace_nfsd3_proc_rmdir(rqstp, &argp->fh, argp->name, argp->len); =20 fh_copy(&resp->fh, &argp->fh); resp->status =3D nfsd_unlink(rqstp, &resp->fh, S_IFDIR, diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 7dffae2f16d9fa8dea043b7bf300eaca52c0aa7c..8524e78201e22984517e93cd9a2= 834190266c633 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1114,6 +1114,8 @@ nfsd4_remove(struct svc_rqst *rqstp, struct nfsd4_com= pound_state *cstate, struct nfsd4_remove *remove =3D &u->remove; __be32 status; =20 + trace_nfsd4_remove(rqstp, &cstate->current_fh, remove->rm_name, remove->r= m_namelen); + if (opens_in_grace(SVC_NET(rqstp))) return nfserr_grace; status =3D nfsd_unlink(rqstp, &cstate->current_fh, 0, diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index b40b5ab1d3b17dd8974fcaeda3ac7c26baee67cf..55656bb0264c31c10419ed41240= c91ba66493106 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c @@ -445,8 +445,7 @@ nfsd_proc_remove(struct svc_rqst *rqstp) struct nfsd_diropargs *argp =3D rqstp->rq_argp; struct nfsd_stat *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: REMOVE %s %.*s\n", SVCFH_fmt(&argp->fh), - argp->len, argp->name); + trace_nfsd_proc_remove(rqstp, &argp->fh, argp->name, argp->len); =20 /* Unlink. -SIFDIR means file must not be a directory */ resp->status =3D nfsd_unlink(rqstp, &argp->fh, -S_IFDIR, @@ -572,7 +571,7 @@ nfsd_proc_rmdir(struct svc_rqst *rqstp) struct nfsd_diropargs *argp =3D rqstp->rq_argp; struct nfsd_stat *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: RMDIR %s %.*s\n", SVCFH_fmt(&argp->fh), argp->len, argp= ->name); + trace_nfsd_proc_rmdir(rqstp, &argp->fh, argp->name, argp->len); =20 resp->status =3D nfsd_unlink(rqstp, &argp->fh, S_IFDIR, argp->name, argp->len); diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 9ff919a08f424bfe023cf91244fe08effbdf993e..dd984917bd0a741ac545c06631a= b2a7de8af5158 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -2500,6 +2500,40 @@ DECLARE_EVENT_CLASS(nfsd_vfs_link_class, DEFINE_NFSD_VFS_LINK_EVENT(nfsd_proc_link); DEFINE_NFSD_VFS_LINK_EVENT(nfsd3_proc_link); DEFINE_NFSD_VFS_LINK_EVENT(nfsd4_link); + +DECLARE_EVENT_CLASS(nfsd_vfs_unlink_class, + TP_PROTO(struct svc_rqst *rqstp, + struct svc_fh *fhp, + const char *name, + unsigned int len), + TP_ARGS(rqstp, fhp, name, len), + TP_STRUCT__entry( + SVC_RQST_ENDPOINT_FIELDS(rqstp) + __field(u32, fh_hash) + __string_len(name, name, len) + ), + TP_fast_assign( + SVC_RQST_ENDPOINT_ASSIGNMENTS(rqstp); + __entry->fh_hash =3D knfsd_fh_hash(&fhp->fh_handle); + __assign_str(name); + ), + TP_printk("xid=3D0x%08x fh_hash=3D0x%08x name=3D%s", + __entry->xid, __entry->fh_hash, + __get_str(name)) +); + +#define DEFINE_NFSD_VFS_UNLINK_EVENT(__name) \ + DEFINE_EVENT(nfsd_vfs_unlink_class, __name, \ + TP_PROTO(struct svc_rqst *rqstp, struct svc_fh *fhp, \ + const char *name, unsigned int len), \ + TP_ARGS(rqstp, fhp, name, len)) + +DEFINE_NFSD_VFS_UNLINK_EVENT(nfsd_proc_remove); +DEFINE_NFSD_VFS_UNLINK_EVENT(nfsd_proc_rmdir); +DEFINE_NFSD_VFS_UNLINK_EVENT(nfsd3_proc_remove); +DEFINE_NFSD_VFS_UNLINK_EVENT(nfsd3_proc_rmdir); +DEFINE_NFSD_VFS_UNLINK_EVENT(nfsd4_remove); + #endif /* _NFSD_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 71DA7268C50; Wed, 9 Apr 2025 14:33: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=1744209192; cv=none; b=gd2XfMceReT8I6/Bvhn6ntVU2z99G7sG/4Gsm5RIQAbp92BLTfqUet1AlqbKr4y0bVmqZDq7onLqHNa0kfByPuXFLajW9AK1lqhyDdMZquifuUagiBTtDLSee0AB6WgCkMPzOamYQ440++Wa5dui7pYlROQB46AtsOAijf1FcmI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209192; c=relaxed/simple; bh=YP8MVqkc2wYCpRP5TRXKJks7JhMz5pr10dLGKRWIxqk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Zn6ILIMHdtlDwSjqaz8I7HEu1O00hl6wv/8mmknK8toIe9uWhsGe5clZ08XgkgHV3E8n6Okpf8FBl1PhAG3qFeC8GcjpQ/wxCSWobjAgvfxYJV9QWTPZs4ul4mL/YbBXYDKzMtfm+vP2OMpGfobECBJIfxeFwzhktm/bT//JRTQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nHq+9KFs; 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="nHq+9KFs" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03792C4CEE7; Wed, 9 Apr 2025 14:33:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209191; bh=YP8MVqkc2wYCpRP5TRXKJks7JhMz5pr10dLGKRWIxqk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=nHq+9KFsriENKspAxKaipPJL6TtRIav5du+O11O/QodNrEpmSeb7Hl0lobk1U68zf FqeC4tJkUbJR+wb/HeisqXxd6SrWtFkgR5RY+oFNPirn/hu5vdB2VI16I0NuTTX2S7 Y/ErqAdordZd2jO5KWzMgzGryactwE7aAPCeYeZCPlkBCa008pdFDFVtsu/6piWBC5 oN2TlwUrEFIiMIoys0di17EmCoggxM+4jxJ5vqH5JL4Ij3x+UdgRDTPVEia8FX3aOi zWdvhxlVS9ngeXTdbDcQUO51RCIACsJTxGfwBS0goCk2/XTLDd7FPGbwtROUeEZvTa WnNINH+oks2mg== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:32 -0400 Subject: [PATCH v2 10/12] nfsd: add tracepoints to rename 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: <20250409-nfsd-tracepoints-v2-10-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=4407; i=jlayton@kernel.org; h=from:subject:message-id; bh=YP8MVqkc2wYCpRP5TRXKJks7JhMz5pr10dLGKRWIxqk=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUbVSzit7w0zJS22tgFmHjNdb2zuwvgZH8ZR 4DHn0BAeDiJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGwAKCRAADmhBGVaC FcJGEAC3ACJE3QEArhYnBqaeoPRgkMg2Ir5IDEbaDehNIHMm8ov/btyUom5EAIbastz/rOMRqJl rS/DYaPjYPQF4D2LkJAjDZ6VVS7s8b0putiBRfArKxespJv2f9/m3jfoRMrEakcRUrCtur9EEt6 XO2t2ITbE2Bwv3mtwuwbAnQ5/DXF6rYQ/Sa4ykRT5b/qmEkTYRf/zRuge6RN3qt16EcTGYBkznT Sv4p2eekyEpvxLd3oOreYfvBIHcETKzogFFvr7TOp9oCmeOcnwpgsNM52YJy8yi5/bIO81XBAPO 5bHdb4CMLrp0zqFjqWGIqqFAhnHzH9tr0XnrgakuacjkMw+evmCm2a9APxVcaQQr131kd9nK5BI FVPR1Z8Y9Aop42vxmn9YlmaOZb5+nvhoNLj7Yg3rWrlJ+YtXOFszETzqUu3UhbRdf/4Wn9l6jK1 gHaXdweUSeGO4Df2wOVBfl3hO7kS1PqITiAe0jqSdKho2xRT+D1pWMd7NAQoPs/E7Ojb1EUv9x+ ZGdkjcarN2Yvy+ZJzlyrMnynkhZ2V7m+k5bL4hLJwEzeslRvsUNsAGGjTxgJmJ86Yp+pMmjwZYC /TmQ69WlTQ45awz7zogOCu0A1p6NCEURk9mT9ohIAnkV9P6+6D6QF3JWV+3TOaxx8bmBysrDUGM O2RoW+AncQbsLHQ== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 ...and remove the legacy dprintks. Signed-off-by: Jeff Layton --- fs/nfsd/nfs3proc.c | 10 ++-------- fs/nfsd/nfs4proc.c | 4 ++++ fs/nfsd/nfsproc.c | 6 ++---- fs/nfsd/trace.h | 40 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 12 deletions(-) diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index 8893bf5e0b1d15b24e9c2c71fa1a8a09586a03d3..4fd3c2284eb96c1d71263967514= 0412b84eadb2f 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c @@ -535,14 +535,8 @@ nfsd3_proc_rename(struct svc_rqst *rqstp) struct nfsd3_renameargs *argp =3D rqstp->rq_argp; struct nfsd3_renameres *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: RENAME(3) %s %.*s ->\n", - SVCFH_fmt(&argp->ffh), - argp->flen, - argp->fname); - dprintk("nfsd: -> %s %.*s\n", - SVCFH_fmt(&argp->tfh), - argp->tlen, - argp->tname); + trace_nfsd3_proc_rename(rqstp, &argp->ffh, &argp->tfh, argp->fname, + argp->flen, argp->tname, argp->tlen); =20 fh_copy(&resp->ffh, &argp->ffh); fh_copy(&resp->tfh, &argp->tfh); diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 8524e78201e22984517e93cd9a2834190266c633..7e6c80e0482a997d4085c87dae8= 8d10c2f06b77b 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1132,6 +1132,10 @@ nfsd4_rename(struct svc_rqst *rqstp, struct nfsd4_co= mpound_state *cstate, struct nfsd4_rename *rename =3D &u->rename; __be32 status; =20 + trace_nfsd4_rename(rqstp, &cstate->save_fh, &cstate->current_fh, + rename->rn_sname, rename->rn_snamelen, + rename->rn_tname, rename->rn_tnamelen); + if (opens_in_grace(SVC_NET(rqstp))) return nfserr_grace; status =3D nfsd_rename(rqstp, &cstate->save_fh, rename->rn_sname, diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index 55656bb0264c31c10419ed41240c91ba66493106..d99e1bff2f8a99e477e3cf21eb7= 058cfe40a7cb4 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c @@ -461,10 +461,8 @@ nfsd_proc_rename(struct svc_rqst *rqstp) struct nfsd_renameargs *argp =3D rqstp->rq_argp; struct nfsd_stat *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: RENAME %s %.*s -> \n", - SVCFH_fmt(&argp->ffh), argp->flen, argp->fname); - dprintk("nfsd: -> %s %.*s\n", - SVCFH_fmt(&argp->tfh), argp->tlen, argp->tname); + trace_nfsd_proc_rename(rqstp, &argp->ffh, &argp->tfh, argp->fname, + argp->flen, argp->tname, argp->tlen); =20 resp->status =3D nfsd_rename(rqstp, &argp->ffh, argp->fname, argp->flen, &argp->tfh, argp->tname, argp->tlen); diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index dd984917bd0a741ac545c06631ab2a7de8af5158..7bf3ee4acd9862171cae5caefce= d3507f4897e90 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -2534,6 +2534,46 @@ DEFINE_NFSD_VFS_UNLINK_EVENT(nfsd3_proc_remove); DEFINE_NFSD_VFS_UNLINK_EVENT(nfsd3_proc_rmdir); DEFINE_NFSD_VFS_UNLINK_EVENT(nfsd4_remove); =20 +DECLARE_EVENT_CLASS(nfsd_vfs_rename_class, + TP_PROTO(struct svc_rqst *rqstp, + struct svc_fh *sfhp, + struct svc_fh *tfhp, + const char *name, + unsigned int namelen, + const char *tgt, + unsigned int tgtlen), + TP_ARGS(rqstp, sfhp, tfhp, name, namelen, tgt, tgtlen), + TP_STRUCT__entry( + SVC_RQST_ENDPOINT_FIELDS(rqstp) + __field(u32, sfh_hash) + __field(u32, tfh_hash) + __string_len(name, name, namelen) + __string_len(tgt, tgt, tgtlen) + ), + TP_fast_assign( + SVC_RQST_ENDPOINT_ASSIGNMENTS(rqstp); + __entry->sfh_hash =3D knfsd_fh_hash(&sfhp->fh_handle); + __entry->tfh_hash =3D knfsd_fh_hash(&tfhp->fh_handle); + __assign_str(name); + __assign_str(tgt); + ), + TP_printk("xid=3D0x%08x sfh_hash=3D0x%08x tfh_hash=3D0x%08x name=3D%s tar= get=3D%s", + __entry->xid, __entry->sfh_hash, __entry->tfh_hash, + __get_str(name), __get_str(tgt)) +); + +#define DEFINE_NFSD_VFS_RENAME_EVENT(__name) \ + DEFINE_EVENT(nfsd_vfs_rename_class, __name, \ + TP_PROTO(struct svc_rqst *rqstp, \ + struct svc_fh *sfhp, struct svc_fh *tfhp, \ + const char *name, unsigned int namelen, \ + const char *tgt, unsigned int tgtlen), \ + TP_ARGS(rqstp, sfhp, tfhp, name, namelen, tgt, tgtlen)) + +DEFINE_NFSD_VFS_RENAME_EVENT(nfsd_proc_rename); +DEFINE_NFSD_VFS_RENAME_EVENT(nfsd3_proc_rename); +DEFINE_NFSD_VFS_RENAME_EVENT(nfsd4_rename); + #endif /* _NFSD_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 1218D25E805; Wed, 9 Apr 2025 14:33:13 +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=1744209193; cv=none; b=DtQjM4Xf7oi8ZdaXyQuoN40yN34Y5Q3Xmry8avbkwYpuLhR6ac4epG2lryuPpqJV48t07r9yPzvbkDOe8lmCvii1T3FlPkY5ypePNxIJLBFhFQlzHstFMG79UcVXEEL44n8dOJ6/yJa9lxWHq4tciXw1e3I4rGPK/wSyt37e1Zw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209193; c=relaxed/simple; bh=oaQeRok/l0C3UUQzpwkDXPCVOoJQExZYMyv+R3SQNt4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BnONtzRSwMFR2KCuc1uEa+fymqmeERFEirv0r8e1urOlSsQ1W6YGWIpgvsBewVlAmzhjwfyFsqKxAns8P0E7KRg5LJA9arS/zo9T8laaGUBVMxiGwh+rfIk+Bx7l2fLDDyaGThq0/nyf9xTUw4HdCTdrle3TrRn5OiGYo3OgkuI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nZNyJ9I4; 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="nZNyJ9I4" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 18713C4CEE2; Wed, 9 Apr 2025 14:33:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209192; bh=oaQeRok/l0C3UUQzpwkDXPCVOoJQExZYMyv+R3SQNt4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=nZNyJ9I4mK9+Z/DRi2cAEUcE6pjXeuII+nIJ1zLRPTCbCKUXZLCvrM1YE7yEnrO4d AfxtTllBXHbZpuPI0nb2B0OG+ei5nG7w1aCOlCtM7hHAdqcwzRUhtUWRGFvwewtNG0 VidMcGYMkn5uURaIw23x6BCK8qrIRstU0ApOAHPmCFKfFagFtLpYq70qufzor9OwY+ P3TDpj5/bliqjkRyXPWIP43fQKkKS+WVXObjy7kJc4Ny4J2ut877UmjVgxwKrd2w7k 3Kkkp+kiDjAOiylEMWfzZ6zmVFdQEcrXyTyKlp0a/03h6bDTRgP+irD82LMXCvLt5s V7vJ+uYaD0oRg== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:33 -0400 Subject: [PATCH v2 11/12] nfsd: add tracepoints for readdir 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: <20250409-nfsd-tracepoints-v2-11-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=4020; i=jlayton@kernel.org; h=from:subject:message-id; bh=oaQeRok/l0C3UUQzpwkDXPCVOoJQExZYMyv+R3SQNt4=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUbuD5WkocwS2DaTsowycQRmsAzcOCEZSPsx UNTkRWr9iyJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGwAKCRAADmhBGVaC Fc9MEACqZjfdeK4LfG1ld4kLoKz1zzdYgTnDxKmn0TH4dVl6PtdpdjDIOiBQ/NZX90hy44y86Ss xXNc1LXGLmiQfvJgAILbE/NbW1SqMhR8EQnJ89TQfIoeOqQ2y6SsxJJO5YVbAhS//kA1xMsjpvf fZtbYvFiu/sXHgwmzl+QuDnDbXANhKTTgAQU2/GSUoooSmiTYV0653oVwpjxArvKR4ZBMbSnizy 10Wa/ulmmA6vmn/uEJTKrgDfxmQgCh0GqwGe5fZUKQwFaVyVr0CzgRIlWuk7a+ofpLzRGe7YZqb Tlx8X9gLGssPvvj6uONDBVlRL2iybbhTISAXeZ4yyaVifBsym+rz+EG5mrLwnjTkHrWs04sgQU6 yU56K46ZS+KR9hNdPWIjSDatl24bbfCfAqrZ88FBh5jo0iKqeR9cp8hXKbAoPLJ9MVPIBzSQ2ym kz5UaxY28K5EO+kBWhT5Ez46EMvwFxL+ZODxjJh7Ckl6UP5+tIYNbm+HppFcnsfDBDDxNtQIdAP DVTq+7q+2fjTDOpFdq0nH0suppD4Zhq7XBuXW/X+90hE/YCbgmuwyo0ZvJmB8ss8OqxPY3EOfY0 TnZRelBbudQNn46CHcYHyO8mIrk40Z411xeGO0ww+qbVil/IMFLGRwp/JHs/kAQcla6/SeEIbDQ HBiINz5m+A4kGyA== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 ...and remove the legacy dprintks. Signed-off-by: Jeff Layton --- fs/nfsd/nfs3proc.c | 8 ++------ fs/nfsd/nfs4proc.c | 2 ++ fs/nfsd/nfsproc.c | 4 +--- fs/nfsd/trace.h | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index 4fd3c2284eb96c1d712639675140412b84eadb2f..b9ed55a4cdd740bc0aa84b7cbc0= e37906d55d666 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c @@ -592,9 +592,7 @@ nfsd3_proc_readdir(struct svc_rqst *rqstp) struct nfsd3_readdirres *resp =3D rqstp->rq_resp; loff_t offset; =20 - dprintk("nfsd: READDIR(3) %s %d bytes at %d\n", - SVCFH_fmt(&argp->fh), - argp->count, (u32) argp->cookie); + trace_nfsd3_proc_readdir(rqstp, &argp->fh, argp->cookie, argp->count); =20 nfsd3_init_dirlist_pages(rqstp, resp, argp->count); =20 @@ -626,9 +624,7 @@ nfsd3_proc_readdirplus(struct svc_rqst *rqstp) struct nfsd3_readdirres *resp =3D rqstp->rq_resp; loff_t offset; =20 - dprintk("nfsd: READDIR+(3) %s %d bytes at %d\n", - SVCFH_fmt(&argp->fh), - argp->count, (u32) argp->cookie); + trace_nfsd3_proc_readdirplus(rqstp, &argp->fh, argp->cookie, argp->count); =20 nfsd3_init_dirlist_pages(rqstp, resp, argp->count); =20 diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 7e6c80e0482a997d4085c87dae88d10c2f06b77b..8dd1233693dc82febe300f6f271= 4059c718909bc 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1080,6 +1080,8 @@ nfsd4_readdir(struct svc_rqst *rqstp, struct nfsd4_co= mpound_state *cstate, u64 cookie =3D readdir->rd_cookie; static const nfs4_verifier zeroverf; =20 + trace_nfsd4_readdir(rqstp, &cstate->current_fh, cookie, readdir->rd_dirco= unt); + /* no need to check permission - this will be done in nfsd_readdir() */ =20 if (readdir->rd_bmval[1] & NFSD_WRITEONLY_ATTRS_WORD1) diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index d99e1bff2f8a99e477e3cf21eb7058cfe40a7cb4..ce3f1ca636f79687e65077effcc= 0588639d9366d 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c @@ -606,9 +606,7 @@ nfsd_proc_readdir(struct svc_rqst *rqstp) struct nfsd_readdirres *resp =3D rqstp->rq_resp; loff_t offset; =20 - dprintk("nfsd: READDIR %s %d bytes at %d\n", - SVCFH_fmt(&argp->fh), =09 - argp->count, argp->cookie); + trace_nfsd_proc_readdir(rqstp, &argp->fh, argp->cookie, argp->count); =20 nfsd_init_dirlist_pages(rqstp, resp, argp->count); =20 diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 7bf3ee4acd9862171cae5caefced3507f4897e90..1d48a37dd33fb4c6e338534d576= bcc8fd1a8f54d 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -2574,6 +2574,38 @@ DEFINE_NFSD_VFS_RENAME_EVENT(nfsd_proc_rename); DEFINE_NFSD_VFS_RENAME_EVENT(nfsd3_proc_rename); DEFINE_NFSD_VFS_RENAME_EVENT(nfsd4_rename); =20 +DECLARE_EVENT_CLASS(nfsd_vfs_readdir_class, + TP_PROTO(struct svc_rqst *rqstp, + struct svc_fh *fhp, + u64 cookie, u32 count), + TP_ARGS(rqstp, fhp, cookie, count), + TP_STRUCT__entry( + SVC_RQST_ENDPOINT_FIELDS(rqstp) + __field(u32, fh_hash) + __field(u64, cookie) + __field(u32, count) + ), + TP_fast_assign( + SVC_RQST_ENDPOINT_ASSIGNMENTS(rqstp); + __entry->fh_hash =3D knfsd_fh_hash(&fhp->fh_handle); + __entry->cookie =3D cookie; + __entry->count =3D count; + ), + TP_printk("xid=3D0x%08x fh_hash=3D0x%08x cookie=3D0x%llx count=3D%u", + __entry->xid, __entry->fh_hash, __entry->cookie, __entry->count) +); + +#define DEFINE_NFSD_VFS_READDIR_EVENT(__name) \ + DEFINE_EVENT(nfsd_vfs_readdir_class, __name, \ + TP_PROTO(struct svc_rqst *rqstp, struct svc_fh *fhp, \ + u64 cookie, u32 count), \ + TP_ARGS(rqstp, fhp, cookie, count)) + +DEFINE_NFSD_VFS_READDIR_EVENT(nfsd_proc_readdir); +DEFINE_NFSD_VFS_READDIR_EVENT(nfsd3_proc_readdir); +DEFINE_NFSD_VFS_READDIR_EVENT(nfsd3_proc_readdirplus); +DEFINE_NFSD_VFS_READDIR_EVENT(nfsd4_readdir); + #endif /* _NFSD_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH --=20 2.49.0 From nobody Thu Dec 18 13:25:49 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 A06122690EA; Wed, 9 Apr 2025 14:33:14 +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=1744209194; cv=none; b=P7tktLLXKbg4txxNK0CvBca2ioV1cTml1Gv+01fAwMBFSsaw0AJH5WOclITBmSIUEttcQmVER4nPzOD94Ugj/6aXMB1/VMlYD2ELdv7Ftx5A1+ThJPuS9N51CGG6NUvOpZYDJ9GmlHw07p2w7Iwc8Nz+jXbPQYEp5tAKy7+L7+g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744209194; c=relaxed/simple; bh=Sdnd2opBtjKfoFj7GGoGQ7TJ00oq35lF08cJzcpjlbg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SGsPtoyjLwVZ2ygJ1ybK+KKoEmF69lnmuANtU5XF7P9CD/J4mhSTp2rEj08FEnELtpFLIv29eMS9AS95Uw1uDrNUqqx694e1XaobZzBOPn2JwFXYMIpRO1NpiHUU8eMbdv906PGmKB3K36HRkTJa1XzJA8opdUw6OFefjORzM3g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LhHV4TWS; 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="LhHV4TWS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2B525C4CEE9; Wed, 9 Apr 2025 14:33:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744209194; bh=Sdnd2opBtjKfoFj7GGoGQ7TJ00oq35lF08cJzcpjlbg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=LhHV4TWSKBqGElCJkEEckqHxr2i+wzEp9c8Chjb9eYQY218tILPSSwZOlEv5fYnW7 PARK2KxVr0IZCO//lcnf7RFM63EQf96l0qBgRf1R0XRYpdU/U/xCMqpFcro2A8a4wi 5hI4ygkbyxZ5qN2KZ9vvIPfpkbg/1DZJ7G2WDdO/x+LzBt5WazxC6VVc+cBQ8SIvHY Y0e3P52ZthSQa/Jhzlmgs7KiwE5uAHo+G7HVw3cD4NMWrixbp96t/sC68xCsPNQDiD W+M2bRMaFeho0l+tKWnY0yUfMJhS1Bl3IaU3qoMRHbu9zW2KYr+jxI3TLERtHpz/Ml Pbm6zUPljxgjg== From: Jeff Layton Date: Wed, 09 Apr 2025 10:32:34 -0400 Subject: [PATCH v2 12/12] nfsd: add tracepoint for getattr 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: <20250409-nfsd-tracepoints-v2-12-cf4e084fdd9c@kernel.org> References: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> In-Reply-To: <20250409-nfsd-tracepoints-v2-0-cf4e084fdd9c@kernel.org> To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Trond Myklebust , Anna Schumaker Cc: Sargun Dillon , 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=4039; i=jlayton@kernel.org; h=from:subject:message-id; bh=Sdnd2opBtjKfoFj7GGoGQ7TJ00oq35lF08cJzcpjlbg=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBn9oUbHJqE+dfm4cDgvCCbEocQFbL40/UlMOL1Q pl1RSic2ciJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZ/aFGwAKCRAADmhBGVaC FXCdD/9zoAbyuXP4f+JGDNQqifBpwjeDrWdGLVHpwT41hcK5wBE7LxuiEB81rJwdOwcgv5T0Zh8 QA9w4JEmLP+V8PNs56R87HcB0JjQGwPhyiHd8aRj1Zd031iB2OsZvwwJXa5uEdUTzo4sOFHmfum 8vy2+qk80s5UvKtqweONskmZd0/pCJtr7BcncmkYLKp3AG/swJscki3iR2tgV604JJB1zZWi/zp hjHcAnIkdwCbc1ZoiryagG0aLQbk8G1Q/y8om7yC5BI5y93+YVih8zuqtYJdNvyD/kKYPcXOkB2 4UWT4luBNRrr46FqtwGy06k2EughSXEHaOSbnLBhIcCYIiD1oxcbhvyt2HFYgGZjU155Vj0Cnx1 lGEx4KQiqRy0XOPmRHEmT1VbzJlAJA9IT6SwKitrmvOvR+SX8wndmaypCHOYhJqAQUvXcnBtIJp 6Cm2ug5i45S++q549GyrOdYlyDYpQvHCnm6VNMNdmQ1+IZs2f2Zhbj3HKzX/mMA0LRLiYI0Cn1y TJbMvKXOuSW+ArcxQdg+xKgBw/+AeVQjILXhvGG7Ku8ihf5kg8KC6KXFTou2yCXRkdXHiptexiF pNOIJx1ffW7uxzXP8hWZJ1gXZwfbkqWmEMWqi0HqElqhOi+TxcGgReo852BhNMxpCCGVvx2pMEj wJE+FD0fWV0TRmA== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 ...including STATFS on v2 and FSSTAT on v3. Also, remove the dprintks. Signed-off-by: Jeff Layton --- fs/nfsd/nfs3proc.c | 6 ++---- fs/nfsd/nfs4proc.c | 2 ++ fs/nfsd/nfsproc.c | 4 ++-- fs/nfsd/trace.h | 27 +++++++++++++++++++++++++++ 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index b9ed55a4cdd740bc0aa84b7cbc0e37906d55d666..d2c6902ca9e2496d90ddf13e96b= 119e415c23cfc 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c @@ -70,8 +70,7 @@ nfsd3_proc_getattr(struct svc_rqst *rqstp) struct nfsd_fhandle *argp =3D rqstp->rq_argp; struct nfsd3_attrstat *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: GETATTR(3) %s\n", - SVCFH_fmt(&argp->fh)); + trace_nfsd3_proc_getattr(rqstp, &argp->fh); =20 fh_copy(&resp->fh, &argp->fh); resp->status =3D fh_verify(rqstp, &resp->fh, 0, @@ -665,8 +664,7 @@ nfsd3_proc_fsstat(struct svc_rqst *rqstp) struct nfsd_fhandle *argp =3D rqstp->rq_argp; struct nfsd3_fsstatres *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: FSSTAT(3) %s\n", - SVCFH_fmt(&argp->fh)); + trace_nfsd3_proc_fsstat(rqstp, &argp->fh); =20 resp->status =3D nfsd_statfs(rqstp, &argp->fh, &resp->stats, 0); fh_put(&argp->fh); diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 8dd1233693dc82febe300f6f2714059c718909bc..1b2cf5a2d8265659edaa7177bc7= 78f74c1a532a3 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -955,6 +955,8 @@ nfsd4_getattr(struct svc_rqst *rqstp, struct nfsd4_comp= ound_state *cstate, struct nfsd4_getattr *getattr =3D &u->getattr; __be32 status; =20 + trace_nfsd4_getattr(rqstp, &cstate->current_fh); + status =3D fh_verify(rqstp, &cstate->current_fh, 0, NFSD_MAY_NOP); if (status) return status; diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index ce3f1ca636f79687e65077effcc0588639d9366d..35b9f79f077adce4499c7f52244= d69da8f5090c4 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c @@ -55,7 +55,7 @@ nfsd_proc_getattr(struct svc_rqst *rqstp) struct nfsd_fhandle *argp =3D rqstp->rq_argp; struct nfsd_attrstat *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: GETATTR %s\n", SVCFH_fmt(&argp->fh)); + trace_nfsd_proc_getattr(rqstp, &argp->fh); =20 fh_copy(&resp->fh, &argp->fh); resp->status =3D fh_verify(rqstp, &resp->fh, 0, @@ -631,7 +631,7 @@ nfsd_proc_statfs(struct svc_rqst *rqstp) struct nfsd_fhandle *argp =3D rqstp->rq_argp; struct nfsd_statfsres *resp =3D rqstp->rq_resp; =20 - dprintk("nfsd: STATFS %s\n", SVCFH_fmt(&argp->fh)); + trace_nfsd_proc_statfs(rqstp, &argp->fh); =20 resp->status =3D nfsd_statfs(rqstp, &argp->fh, &resp->stats, NFSD_MAY_BYPASS_GSS_ON_ROOT); diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 1d48a37dd33fb4c6e338534d576bcc8fd1a8f54d..ffe16a7ab1f24db999763bcc220= e31cf8035d412 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -2606,6 +2606,33 @@ DEFINE_NFSD_VFS_READDIR_EVENT(nfsd3_proc_readdir); DEFINE_NFSD_VFS_READDIR_EVENT(nfsd3_proc_readdirplus); DEFINE_NFSD_VFS_READDIR_EVENT(nfsd4_readdir); =20 +DECLARE_EVENT_CLASS(nfsd_vfs_getattr_class, + TP_PROTO(struct svc_rqst *rqstp, + struct svc_fh *fhp), + TP_ARGS(rqstp, fhp), + TP_STRUCT__entry( + SVC_RQST_ENDPOINT_FIELDS(rqstp) + __field(u32, fh_hash) + ), + TP_fast_assign( + SVC_RQST_ENDPOINT_ASSIGNMENTS(rqstp); + __entry->fh_hash =3D knfsd_fh_hash(&fhp->fh_handle); + ), + TP_printk("xid=3D0x%08x fh_hash=3D0x%08x", + __entry->xid, __entry->fh_hash) +); + +#define DEFINE_NFSD_VFS_GETATTR_EVENT(__name) \ + DEFINE_EVENT(nfsd_vfs_getattr_class, __name, \ + TP_PROTO(struct svc_rqst *rqstp, struct svc_fh *fhp), \ + TP_ARGS(rqstp, fhp)) + +DEFINE_NFSD_VFS_GETATTR_EVENT(nfsd_proc_getattr); +DEFINE_NFSD_VFS_GETATTR_EVENT(nfsd_proc_statfs); +DEFINE_NFSD_VFS_GETATTR_EVENT(nfsd3_proc_getattr); +DEFINE_NFSD_VFS_GETATTR_EVENT(nfsd3_proc_fsstat); +DEFINE_NFSD_VFS_GETATTR_EVENT(nfsd4_getattr); + #endif /* _NFSD_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH --=20 2.49.0