aboutsummaryrefslogtreecommitdiffstats
path: root/fs/netfs/write_collect.c
diff options
context:
space:
mode:
authorDavid Howells <[email protected]>2025-07-01 16:38:48 +0000
committerChristian Brauner <[email protected]>2025-07-01 20:37:14 +0000
commit90b3ccf514578ca3a6ac25db51a29a48e34e0f1b (patch)
treeb9fda312e9865774eaf483d9abbaa9e5882918b7 /fs/netfs/write_collect.c
parentnetfs: Renumber the NETFS_RREQ_* flags to make traces easier to read (diff)
downloadkernel-90b3ccf514578ca3a6ac25db51a29a48e34e0f1b.tar.gz
kernel-90b3ccf514578ca3a6ac25db51a29a48e34e0f1b.zip
netfs: Update tracepoints in a number of ways
Make a number of updates to the netfs tracepoints: (1) Remove a duplicate trace from netfs_unbuffered_write_iter_locked(). (2) Move the trace in netfs_wake_rreq_flag() to after the flag is cleared so that the change appears in the trace. (3) Differentiate the use of netfs_rreq_trace_wait/woke_queue symbols. (4) Don't do so many trace emissions in the wait functions as some of them are redundant. (5) In netfs_collect_read_results(), differentiate a subreq that's being abandoned vs one that has been consumed in a regular way. (6) Add a tracepoint to indicate the call to ->ki_complete(). (7) Don't double-increment the subreq_counter when retrying a write. (8) Move the netfs_sreq_trace_io_progress tracepoint within cifs code to just MID_RESPONSE_RECEIVED and add different tracepoints for other MID states and note check failure. Signed-off-by: David Howells <[email protected]> Co-developed-by: Paulo Alcantara <[email protected]> Signed-off-by: Paulo Alcantara <[email protected]> Link: https://lore.kernel.org/[email protected] cc: Steve French <[email protected]> cc: [email protected] cc: [email protected] cc: [email protected] Signed-off-by: Christian Brauner <[email protected]>
Diffstat (limited to 'fs/netfs/write_collect.c')
-rw-r--r--fs/netfs/write_collect.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/netfs/write_collect.c b/fs/netfs/write_collect.c
index 33a93258f36e..0f3a36852a4d 100644
--- a/fs/netfs/write_collect.c
+++ b/fs/netfs/write_collect.c
@@ -421,9 +421,11 @@ bool netfs_write_collection(struct netfs_io_request *wreq)
if (wreq->iocb) {
size_t written = min(wreq->transferred, wreq->len);
wreq->iocb->ki_pos += written;
- if (wreq->iocb->ki_complete)
+ if (wreq->iocb->ki_complete) {
+ trace_netfs_rreq(wreq, netfs_rreq_trace_ki_complete);
wreq->iocb->ki_complete(
wreq->iocb, wreq->error ? wreq->error : written);
+ }
wreq->iocb = VFS_PTR_POISON;
}