[RFC PATCH 22/36] cifs: Trace smb1/2_copy_to_prepped_buffers()
David Howells <[email protected]> Tue, 19 May 2026 11:21:40 +0100
| Newsgroups | dev.linux.lists.netfs,org.kernel.vger.linux-cifs,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Add a tracepoint to smb1/2_copy_to_prepped_buffers() so that bulk data read (such as a Read op) can be checked. Signed-off-by: David Howells <[email protected]> cc: Steve French <[email protected]> cc: Paulo Alcantara <[email protected]> cc: Shyam Prasad N <[email protected]> cc: [email protected] cc: [email protected] cc: [email protected] --- fs/smb/client/smb1transport.c | 1 + fs/smb/client/smb2transport.c | 1 + fs/smb/client/trace.h | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/fs/smb/client/smb1transport.c b/fs/smb/client/smb1transport.c index ba887284fadd..598579b564ae 100644 --- a/fs/smb/client/smb1transport.c +++ b/fs/smb/client/smb1transport.c @@ -829,6 +829,7 @@ static void smb1_copy_to_prepped_buffers(struct TCP_Server_Info *server, return; } + trace_smb3_copy_to_buf(smb, &dest, skip, to_copy); if (!rxq->refillable) { size_t got; diff --git a/fs/smb/client/smb2transport.c b/fs/smb/client/smb2transport.c index 404bb8b1b3c3..73db90ab8a52 100644 --- a/fs/smb/client/smb2transport.c +++ b/fs/smb/client/smb2transport.c @@ -1236,6 +1236,7 @@ static void smb2_copy_to_prepped_buffers(struct TCP_Server_Info *server, return; } + trace_smb3_copy_to_buf(smb, &dest, skip, to_copy); if (!rxq->refillable) { size_t got; diff --git a/fs/smb/client/trace.h b/fs/smb/client/trace.h index 2cdbd8249af0..e9abcc5cf83a 100644 --- a/fs/smb/client/trace.h +++ b/fs/smb/client/trace.h @@ -2117,6 +2117,27 @@ TRACE_EVENT(smb3_message, __entry->ref) ); +TRACE_EVENT(smb3_copy_to_buf, + TP_PROTO(const struct smb_message *smb, const struct iov_iter *dest, + unsigned int msg_offset, unsigned int len), + TP_ARGS(smb, dest, msg_offset, len), + TP_STRUCT__entry( + __field(unsigned int, smb_message) + __field(unsigned int, dest_len) + __field(unsigned int, msg_offset) + __field(unsigned int, len) + ), + TP_fast_assign( + __entry->smb_message = smb->debug_id; + __entry->dest_len = iov_iter_count(dest); + __entry->msg_offset = msg_offset; + __entry->len = len; + ), + TP_printk("MSG=%08x m=%x sl=%x dl=%x", + __entry->smb_message, + __entry->msg_offset, __entry->len, __entry->dest_len) + ); + #undef EM #undef E_ #endif /* _CIFS_TRACE_H */