* [PATCH] smb: client: fix order of arguments of tracepoints
@ 2025-01-18 20:03 Ruben Devos
2025-01-19 4:38 ` Steve French
0 siblings, 1 reply; 5+ messages in thread
From: Ruben Devos @ 2025-01-18 20:03 UTC (permalink / raw)
To: sfrench
Cc: pc, ronniesahlberg, sprasad, tom, bharathsm, linux-cifs,
Ruben Devos
The tracepoints based on smb3_inf_compound_*_class have tcon id and
session id swapped around. This results in incorrect output in
`trace-cmd report`.
Fix the order of arguments to resolve this issue. The trace-cmd output
below shows the before and after of the smb3_delete_enter and
smb3_delete_done events as an example. The smb3_cmd_* events show the
correct session and tcon id for reference.
Also fix tracepoint set -> get in the SMB2_OP_GET_REPARSE case.
BEFORE:
rm-2211 [001] ..... 1839.550888: smb3_delete_enter: xid=281 sid=0x5 tid=0x3d path=\hello2.txt
rm-2211 [001] ..... 1839.550894: smb3_cmd_enter: sid=0x1ac000000003d tid=0x5 cmd=5 mid=61
rm-2211 [001] ..... 1839.550896: smb3_cmd_enter: sid=0x1ac000000003d tid=0x5 cmd=6 mid=62
rm-2211 [001] ..... 1839.552091: smb3_cmd_done: sid=0x1ac000000003d tid=0x5 cmd=5 mid=61
rm-2211 [001] ..... 1839.552093: smb3_cmd_done: sid=0x1ac000000003d tid=0x5 cmd=6 mid=62
rm-2211 [001] ..... 1839.552103: smb3_delete_done: xid=281 sid=0x5 tid=0x3d
AFTER:
rm-2501 [001] ..... 3237.656110: smb3_delete_enter: xid=88 sid=0x1ac0000000041 tid=0x5 path=\hello2.txt
rm-2501 [001] ..... 3237.656122: smb3_cmd_enter: sid=0x1ac0000000041 tid=0x5 cmd=5 mid=84
rm-2501 [001] ..... 3237.656123: smb3_cmd_enter: sid=0x1ac0000000041 tid=0x5 cmd=6 mid=85
rm-2501 [001] ..... 3237.657909: smb3_cmd_done: sid=0x1ac0000000041 tid=0x5 cmd=5 mid=84
rm-2501 [001] ..... 3237.657909: smb3_cmd_done: sid=0x1ac0000000041 tid=0x5 cmd=6 mid=85
rm-2501 [001] ..... 3237.657922: smb3_delete_done: xid=88 sid=0x1ac0000000041 tid=0x5
Signed-off-by: Ruben Devos <devosruben6@gmail.com>
---
fs/smb/client/dir.c | 6 +--
fs/smb/client/smb2inode.c | 108 +++++++++++++++++++-------------------
2 files changed, 57 insertions(+), 57 deletions(-)
diff --git a/fs/smb/client/dir.c b/fs/smb/client/dir.c
index 864b194dbaa0..1822493dd084 100644
--- a/fs/smb/client/dir.c
+++ b/fs/smb/client/dir.c
@@ -627,7 +627,7 @@ int cifs_mknod(struct mnt_idmap *idmap, struct inode *inode,
goto mknod_out;
}
- trace_smb3_mknod_enter(xid, tcon->ses->Suid, tcon->tid, full_path);
+ trace_smb3_mknod_enter(xid, tcon->tid, tcon->ses->Suid, full_path);
rc = tcon->ses->server->ops->make_node(xid, inode, direntry, tcon,
full_path, mode,
@@ -635,9 +635,9 @@ int cifs_mknod(struct mnt_idmap *idmap, struct inode *inode,
mknod_out:
if (rc)
- trace_smb3_mknod_err(xid, tcon->ses->Suid, tcon->tid, rc);
+ trace_smb3_mknod_err(xid, tcon->tid, tcon->ses->Suid, rc);
else
- trace_smb3_mknod_done(xid, tcon->ses->Suid, tcon->tid);
+ trace_smb3_mknod_done(xid, tcon->tid, tcon->ses->Suid);
free_dentry_path(page);
free_xid(xid);
diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
index a55f0044d30b..274672755c19 100644
--- a/fs/smb/client/smb2inode.c
+++ b/fs/smb/client/smb2inode.c
@@ -298,8 +298,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
}
num_rqst++;
- trace_smb3_query_info_compound_enter(xid, ses->Suid,
- tcon->tid, full_path);
+ trace_smb3_query_info_compound_enter(xid, tcon->tid,
+ ses->Suid, full_path);
break;
case SMB2_OP_POSIX_QUERY_INFO:
rqst[num_rqst].rq_iov = &vars->qi_iov;
@@ -334,18 +334,18 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
}
num_rqst++;
- trace_smb3_posix_query_info_compound_enter(xid, ses->Suid,
- tcon->tid, full_path);
+ trace_smb3_posix_query_info_compound_enter(xid, tcon->tid,
+ ses->Suid, full_path);
break;
case SMB2_OP_DELETE:
- trace_smb3_delete_enter(xid, ses->Suid, tcon->tid, full_path);
+ trace_smb3_delete_enter(xid, tcon->tid, ses->Suid, full_path);
break;
case SMB2_OP_MKDIR:
/*
* Directories are created through parameters in the
* SMB2_open() call.
*/
- trace_smb3_mkdir_enter(xid, ses->Suid, tcon->tid, full_path);
+ trace_smb3_mkdir_enter(xid, tcon->tid, ses->Suid, full_path);
break;
case SMB2_OP_RMDIR:
rqst[num_rqst].rq_iov = &vars->si_iov[0];
@@ -363,7 +363,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
smb2_set_next_command(tcon, &rqst[num_rqst]);
smb2_set_related(&rqst[num_rqst++]);
- trace_smb3_rmdir_enter(xid, ses->Suid, tcon->tid, full_path);
+ trace_smb3_rmdir_enter(xid, tcon->tid, ses->Suid, full_path);
break;
case SMB2_OP_SET_EOF:
rqst[num_rqst].rq_iov = &vars->si_iov[0];
@@ -398,7 +398,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
}
num_rqst++;
- trace_smb3_set_eof_enter(xid, ses->Suid, tcon->tid, full_path);
+ trace_smb3_set_eof_enter(xid, tcon->tid, ses->Suid, full_path);
break;
case SMB2_OP_SET_INFO:
rqst[num_rqst].rq_iov = &vars->si_iov[0];
@@ -429,8 +429,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
}
num_rqst++;
- trace_smb3_set_info_compound_enter(xid, ses->Suid,
- tcon->tid, full_path);
+ trace_smb3_set_info_compound_enter(xid, tcon->tid,
+ ses->Suid, full_path);
break;
case SMB2_OP_RENAME:
rqst[num_rqst].rq_iov = &vars->si_iov[0];
@@ -469,7 +469,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
}
num_rqst++;
- trace_smb3_rename_enter(xid, ses->Suid, tcon->tid, full_path);
+ trace_smb3_rename_enter(xid, tcon->tid, ses->Suid, full_path);
break;
case SMB2_OP_HARDLINK:
rqst[num_rqst].rq_iov = &vars->si_iov[0];
@@ -496,7 +496,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
smb2_set_next_command(tcon, &rqst[num_rqst]);
smb2_set_related(&rqst[num_rqst++]);
- trace_smb3_hardlink_enter(xid, ses->Suid, tcon->tid, full_path);
+ trace_smb3_hardlink_enter(xid, tcon->tid, ses->Suid, full_path);
break;
case SMB2_OP_SET_REPARSE:
rqst[num_rqst].rq_iov = vars->io_iov;
@@ -523,8 +523,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
}
num_rqst++;
- trace_smb3_set_reparse_compound_enter(xid, ses->Suid,
- tcon->tid, full_path);
+ trace_smb3_set_reparse_compound_enter(xid, tcon->tid,
+ ses->Suid, full_path);
break;
case SMB2_OP_GET_REPARSE:
rqst[num_rqst].rq_iov = vars->io_iov;
@@ -549,8 +549,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
}
num_rqst++;
- trace_smb3_get_reparse_compound_enter(xid, ses->Suid,
- tcon->tid, full_path);
+ trace_smb3_get_reparse_compound_enter(xid, tcon->tid,
+ ses->Suid, full_path);
break;
case SMB2_OP_QUERY_WSL_EA:
rqst[num_rqst].rq_iov = &vars->ea_iov;
@@ -656,11 +656,11 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
}
SMB2_query_info_free(&rqst[num_rqst++]);
if (rc)
- trace_smb3_query_info_compound_err(xid, ses->Suid,
- tcon->tid, rc);
+ trace_smb3_query_info_compound_err(xid, tcon->tid,
+ ses->Suid, rc);
else
- trace_smb3_query_info_compound_done(xid, ses->Suid,
- tcon->tid);
+ trace_smb3_query_info_compound_done(xid, tcon->tid,
+ ses->Suid);
break;
case SMB2_OP_POSIX_QUERY_INFO:
idata = in_iov[i].iov_base;
@@ -683,15 +683,15 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
SMB2_query_info_free(&rqst[num_rqst++]);
if (rc)
- trace_smb3_posix_query_info_compound_err(xid, ses->Suid,
- tcon->tid, rc);
+ trace_smb3_posix_query_info_compound_err(xid, tcon->tid,
+ ses->Suid, rc);
else
- trace_smb3_posix_query_info_compound_done(xid, ses->Suid,
- tcon->tid);
+ trace_smb3_posix_query_info_compound_done(xid, tcon->tid,
+ ses->Suid);
break;
case SMB2_OP_DELETE:
if (rc)
- trace_smb3_delete_err(xid, ses->Suid, tcon->tid, rc);
+ trace_smb3_delete_err(xid, tcon->tid, ses->Suid, rc);
else {
/*
* If dentry (hence, inode) is NULL, lease break is going to
@@ -699,59 +699,59 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
*/
if (inode)
cifs_mark_open_handles_for_deleted_file(inode, full_path);
- trace_smb3_delete_done(xid, ses->Suid, tcon->tid);
+ trace_smb3_delete_done(xid, tcon->tid, ses->Suid);
}
break;
case SMB2_OP_MKDIR:
if (rc)
- trace_smb3_mkdir_err(xid, ses->Suid, tcon->tid, rc);
+ trace_smb3_mkdir_err(xid, tcon->tid, ses->Suid, rc);
else
- trace_smb3_mkdir_done(xid, ses->Suid, tcon->tid);
+ trace_smb3_mkdir_done(xid, tcon->tid, ses->Suid);
break;
case SMB2_OP_HARDLINK:
if (rc)
- trace_smb3_hardlink_err(xid, ses->Suid, tcon->tid, rc);
+ trace_smb3_hardlink_err(xid, tcon->tid, ses->Suid, rc);
else
- trace_smb3_hardlink_done(xid, ses->Suid, tcon->tid);
+ trace_smb3_hardlink_done(xid, tcon->tid, ses->Suid);
SMB2_set_info_free(&rqst[num_rqst++]);
break;
case SMB2_OP_RENAME:
if (rc)
- trace_smb3_rename_err(xid, ses->Suid, tcon->tid, rc);
+ trace_smb3_rename_err(xid, tcon->tid, ses->Suid, rc);
else
- trace_smb3_rename_done(xid, ses->Suid, tcon->tid);
+ trace_smb3_rename_done(xid, tcon->tid, ses->Suid);
SMB2_set_info_free(&rqst[num_rqst++]);
break;
case SMB2_OP_RMDIR:
if (rc)
- trace_smb3_rmdir_err(xid, ses->Suid, tcon->tid, rc);
+ trace_smb3_rmdir_err(xid, tcon->tid, ses->Suid, rc);
else
- trace_smb3_rmdir_done(xid, ses->Suid, tcon->tid);
+ trace_smb3_rmdir_done(xid, tcon->tid, ses->Suid);
SMB2_set_info_free(&rqst[num_rqst++]);
break;
case SMB2_OP_SET_EOF:
if (rc)
- trace_smb3_set_eof_err(xid, ses->Suid, tcon->tid, rc);
+ trace_smb3_set_eof_err(xid, tcon->tid, ses->Suid, rc);
else
- trace_smb3_set_eof_done(xid, ses->Suid, tcon->tid);
+ trace_smb3_set_eof_done(xid, tcon->tid, ses->Suid);
SMB2_set_info_free(&rqst[num_rqst++]);
break;
case SMB2_OP_SET_INFO:
if (rc)
- trace_smb3_set_info_compound_err(xid, ses->Suid,
- tcon->tid, rc);
+ trace_smb3_set_info_compound_err(xid, tcon->tid,
+ ses->Suid, rc);
else
- trace_smb3_set_info_compound_done(xid, ses->Suid,
- tcon->tid);
+ trace_smb3_set_info_compound_done(xid, tcon->tid,
+ ses->Suid);
SMB2_set_info_free(&rqst[num_rqst++]);
break;
case SMB2_OP_SET_REPARSE:
if (rc) {
- trace_smb3_set_reparse_compound_err(xid, ses->Suid,
- tcon->tid, rc);
+ trace_smb3_set_reparse_compound_err(xid, tcon->tid,
+ ses->Suid, rc);
} else {
- trace_smb3_set_reparse_compound_done(xid, ses->Suid,
- tcon->tid);
+ trace_smb3_set_reparse_compound_done(xid, tcon->tid,
+ ses->Suid);
}
SMB2_ioctl_free(&rqst[num_rqst++]);
break;
@@ -764,18 +764,18 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
rbuf = reparse_buf_ptr(iov);
if (IS_ERR(rbuf)) {
rc = PTR_ERR(rbuf);
- trace_smb3_set_reparse_compound_err(xid, ses->Suid,
- tcon->tid, rc);
+ trace_smb3_get_reparse_compound_err(xid, tcon->tid,
+ ses->Suid, rc);
} else {
idata->reparse.tag = le32_to_cpu(rbuf->ReparseTag);
- trace_smb3_set_reparse_compound_done(xid, ses->Suid,
- tcon->tid);
+ trace_smb3_get_reparse_compound_done(xid, tcon->tid,
+ ses->Suid);
}
memset(iov, 0, sizeof(*iov));
resp_buftype[i + 1] = CIFS_NO_BUFFER;
} else {
- trace_smb3_set_reparse_compound_err(xid, ses->Suid,
- tcon->tid, rc);
+ trace_smb3_get_reparse_compound_err(xid, tcon->tid,
+ ses->Suid, rc);
}
SMB2_ioctl_free(&rqst[num_rqst++]);
break;
@@ -792,11 +792,11 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
}
}
if (!rc) {
- trace_smb3_query_wsl_ea_compound_done(xid, ses->Suid,
- tcon->tid);
+ trace_smb3_query_wsl_ea_compound_done(xid, tcon->tid,
+ ses->Suid);
} else {
- trace_smb3_query_wsl_ea_compound_err(xid, ses->Suid,
- tcon->tid, rc);
+ trace_smb3_query_wsl_ea_compound_err(xid, tcon->tid,
+ ses->Suid, rc);
}
SMB2_query_info_free(&rqst[num_rqst++]);
break;
--
2.48.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] smb: client: fix order of arguments of tracepoints
2025-01-18 20:03 [PATCH] smb: client: fix order of arguments of tracepoints Ruben Devos
@ 2025-01-19 4:38 ` Steve French
2025-01-19 7:16 ` Steve French
0 siblings, 1 reply; 5+ messages in thread
From: Steve French @ 2025-01-19 4:38 UTC (permalink / raw)
To: Ruben Devos
Cc: sfrench, pc, ronniesahlberg, sprasad, tom, bharathsm, linux-cifs
Good catch.
Looking at your patch, I noticed one trace point was missing from the
original patch:
trace_smb3_query_wsl_ea_compound_enter
commit ea41367b2a602f602ea6594fc4a310520dcc64f4
Author: Paulo Alcantara <pc@manguebit.com>
Date: Sun Jan 28 01:12:01 2024 -0300
smb: client: introduce SMB2_OP_QUERY_WSL_EA
On Sat, Jan 18, 2025 at 2:04 PM Ruben Devos <devosruben6@gmail.com> wrote:
>
> The tracepoints based on smb3_inf_compound_*_class have tcon id and
> session id swapped around. This results in incorrect output in
> `trace-cmd report`.
>
> Fix the order of arguments to resolve this issue. The trace-cmd output
> below shows the before and after of the smb3_delete_enter and
> smb3_delete_done events as an example. The smb3_cmd_* events show the
> correct session and tcon id for reference.
>
> Also fix tracepoint set -> get in the SMB2_OP_GET_REPARSE case.
>
> BEFORE:
> rm-2211 [001] ..... 1839.550888: smb3_delete_enter: xid=281 sid=0x5 tid=0x3d path=\hello2.txt
> rm-2211 [001] ..... 1839.550894: smb3_cmd_enter: sid=0x1ac000000003d tid=0x5 cmd=5 mid=61
> rm-2211 [001] ..... 1839.550896: smb3_cmd_enter: sid=0x1ac000000003d tid=0x5 cmd=6 mid=62
> rm-2211 [001] ..... 1839.552091: smb3_cmd_done: sid=0x1ac000000003d tid=0x5 cmd=5 mid=61
> rm-2211 [001] ..... 1839.552093: smb3_cmd_done: sid=0x1ac000000003d tid=0x5 cmd=6 mid=62
> rm-2211 [001] ..... 1839.552103: smb3_delete_done: xid=281 sid=0x5 tid=0x3d
>
> AFTER:
> rm-2501 [001] ..... 3237.656110: smb3_delete_enter: xid=88 sid=0x1ac0000000041 tid=0x5 path=\hello2.txt
> rm-2501 [001] ..... 3237.656122: smb3_cmd_enter: sid=0x1ac0000000041 tid=0x5 cmd=5 mid=84
> rm-2501 [001] ..... 3237.656123: smb3_cmd_enter: sid=0x1ac0000000041 tid=0x5 cmd=6 mid=85
> rm-2501 [001] ..... 3237.657909: smb3_cmd_done: sid=0x1ac0000000041 tid=0x5 cmd=5 mid=84
> rm-2501 [001] ..... 3237.657909: smb3_cmd_done: sid=0x1ac0000000041 tid=0x5 cmd=6 mid=85
> rm-2501 [001] ..... 3237.657922: smb3_delete_done: xid=88 sid=0x1ac0000000041 tid=0x5
>
> Signed-off-by: Ruben Devos <devosruben6@gmail.com>
> ---
> fs/smb/client/dir.c | 6 +--
> fs/smb/client/smb2inode.c | 108 +++++++++++++++++++-------------------
> 2 files changed, 57 insertions(+), 57 deletions(-)
>
> diff --git a/fs/smb/client/dir.c b/fs/smb/client/dir.c
> index 864b194dbaa0..1822493dd084 100644
> --- a/fs/smb/client/dir.c
> +++ b/fs/smb/client/dir.c
> @@ -627,7 +627,7 @@ int cifs_mknod(struct mnt_idmap *idmap, struct inode *inode,
> goto mknod_out;
> }
>
> - trace_smb3_mknod_enter(xid, tcon->ses->Suid, tcon->tid, full_path);
> + trace_smb3_mknod_enter(xid, tcon->tid, tcon->ses->Suid, full_path);
>
> rc = tcon->ses->server->ops->make_node(xid, inode, direntry, tcon,
> full_path, mode,
> @@ -635,9 +635,9 @@ int cifs_mknod(struct mnt_idmap *idmap, struct inode *inode,
>
> mknod_out:
> if (rc)
> - trace_smb3_mknod_err(xid, tcon->ses->Suid, tcon->tid, rc);
> + trace_smb3_mknod_err(xid, tcon->tid, tcon->ses->Suid, rc);
> else
> - trace_smb3_mknod_done(xid, tcon->ses->Suid, tcon->tid);
> + trace_smb3_mknod_done(xid, tcon->tid, tcon->ses->Suid);
>
> free_dentry_path(page);
> free_xid(xid);
> diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
> index a55f0044d30b..274672755c19 100644
> --- a/fs/smb/client/smb2inode.c
> +++ b/fs/smb/client/smb2inode.c
> @@ -298,8 +298,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> goto finished;
> }
> num_rqst++;
> - trace_smb3_query_info_compound_enter(xid, ses->Suid,
> - tcon->tid, full_path);
> + trace_smb3_query_info_compound_enter(xid, tcon->tid,
> + ses->Suid, full_path);
> break;
> case SMB2_OP_POSIX_QUERY_INFO:
> rqst[num_rqst].rq_iov = &vars->qi_iov;
> @@ -334,18 +334,18 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> goto finished;
> }
> num_rqst++;
> - trace_smb3_posix_query_info_compound_enter(xid, ses->Suid,
> - tcon->tid, full_path);
> + trace_smb3_posix_query_info_compound_enter(xid, tcon->tid,
> + ses->Suid, full_path);
> break;
> case SMB2_OP_DELETE:
> - trace_smb3_delete_enter(xid, ses->Suid, tcon->tid, full_path);
> + trace_smb3_delete_enter(xid, tcon->tid, ses->Suid, full_path);
> break;
> case SMB2_OP_MKDIR:
> /*
> * Directories are created through parameters in the
> * SMB2_open() call.
> */
> - trace_smb3_mkdir_enter(xid, ses->Suid, tcon->tid, full_path);
> + trace_smb3_mkdir_enter(xid, tcon->tid, ses->Suid, full_path);
> break;
> case SMB2_OP_RMDIR:
> rqst[num_rqst].rq_iov = &vars->si_iov[0];
> @@ -363,7 +363,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> goto finished;
> smb2_set_next_command(tcon, &rqst[num_rqst]);
> smb2_set_related(&rqst[num_rqst++]);
> - trace_smb3_rmdir_enter(xid, ses->Suid, tcon->tid, full_path);
> + trace_smb3_rmdir_enter(xid, tcon->tid, ses->Suid, full_path);
> break;
> case SMB2_OP_SET_EOF:
> rqst[num_rqst].rq_iov = &vars->si_iov[0];
> @@ -398,7 +398,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> goto finished;
> }
> num_rqst++;
> - trace_smb3_set_eof_enter(xid, ses->Suid, tcon->tid, full_path);
> + trace_smb3_set_eof_enter(xid, tcon->tid, ses->Suid, full_path);
> break;
> case SMB2_OP_SET_INFO:
> rqst[num_rqst].rq_iov = &vars->si_iov[0];
> @@ -429,8 +429,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> goto finished;
> }
> num_rqst++;
> - trace_smb3_set_info_compound_enter(xid, ses->Suid,
> - tcon->tid, full_path);
> + trace_smb3_set_info_compound_enter(xid, tcon->tid,
> + ses->Suid, full_path);
> break;
> case SMB2_OP_RENAME:
> rqst[num_rqst].rq_iov = &vars->si_iov[0];
> @@ -469,7 +469,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> goto finished;
> }
> num_rqst++;
> - trace_smb3_rename_enter(xid, ses->Suid, tcon->tid, full_path);
> + trace_smb3_rename_enter(xid, tcon->tid, ses->Suid, full_path);
> break;
> case SMB2_OP_HARDLINK:
> rqst[num_rqst].rq_iov = &vars->si_iov[0];
> @@ -496,7 +496,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> goto finished;
> smb2_set_next_command(tcon, &rqst[num_rqst]);
> smb2_set_related(&rqst[num_rqst++]);
> - trace_smb3_hardlink_enter(xid, ses->Suid, tcon->tid, full_path);
> + trace_smb3_hardlink_enter(xid, tcon->tid, ses->Suid, full_path);
> break;
> case SMB2_OP_SET_REPARSE:
> rqst[num_rqst].rq_iov = vars->io_iov;
> @@ -523,8 +523,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> goto finished;
> }
> num_rqst++;
> - trace_smb3_set_reparse_compound_enter(xid, ses->Suid,
> - tcon->tid, full_path);
> + trace_smb3_set_reparse_compound_enter(xid, tcon->tid,
> + ses->Suid, full_path);
> break;
> case SMB2_OP_GET_REPARSE:
> rqst[num_rqst].rq_iov = vars->io_iov;
> @@ -549,8 +549,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> goto finished;
> }
> num_rqst++;
> - trace_smb3_get_reparse_compound_enter(xid, ses->Suid,
> - tcon->tid, full_path);
> + trace_smb3_get_reparse_compound_enter(xid, tcon->tid,
> + ses->Suid, full_path);
> break;
> case SMB2_OP_QUERY_WSL_EA:
> rqst[num_rqst].rq_iov = &vars->ea_iov;
> @@ -656,11 +656,11 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> }
> SMB2_query_info_free(&rqst[num_rqst++]);
> if (rc)
> - trace_smb3_query_info_compound_err(xid, ses->Suid,
> - tcon->tid, rc);
> + trace_smb3_query_info_compound_err(xid, tcon->tid,
> + ses->Suid, rc);
> else
> - trace_smb3_query_info_compound_done(xid, ses->Suid,
> - tcon->tid);
> + trace_smb3_query_info_compound_done(xid, tcon->tid,
> + ses->Suid);
> break;
> case SMB2_OP_POSIX_QUERY_INFO:
> idata = in_iov[i].iov_base;
> @@ -683,15 +683,15 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
>
> SMB2_query_info_free(&rqst[num_rqst++]);
> if (rc)
> - trace_smb3_posix_query_info_compound_err(xid, ses->Suid,
> - tcon->tid, rc);
> + trace_smb3_posix_query_info_compound_err(xid, tcon->tid,
> + ses->Suid, rc);
> else
> - trace_smb3_posix_query_info_compound_done(xid, ses->Suid,
> - tcon->tid);
> + trace_smb3_posix_query_info_compound_done(xid, tcon->tid,
> + ses->Suid);
> break;
> case SMB2_OP_DELETE:
> if (rc)
> - trace_smb3_delete_err(xid, ses->Suid, tcon->tid, rc);
> + trace_smb3_delete_err(xid, tcon->tid, ses->Suid, rc);
> else {
> /*
> * If dentry (hence, inode) is NULL, lease break is going to
> @@ -699,59 +699,59 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> */
> if (inode)
> cifs_mark_open_handles_for_deleted_file(inode, full_path);
> - trace_smb3_delete_done(xid, ses->Suid, tcon->tid);
> + trace_smb3_delete_done(xid, tcon->tid, ses->Suid);
> }
> break;
> case SMB2_OP_MKDIR:
> if (rc)
> - trace_smb3_mkdir_err(xid, ses->Suid, tcon->tid, rc);
> + trace_smb3_mkdir_err(xid, tcon->tid, ses->Suid, rc);
> else
> - trace_smb3_mkdir_done(xid, ses->Suid, tcon->tid);
> + trace_smb3_mkdir_done(xid, tcon->tid, ses->Suid);
> break;
> case SMB2_OP_HARDLINK:
> if (rc)
> - trace_smb3_hardlink_err(xid, ses->Suid, tcon->tid, rc);
> + trace_smb3_hardlink_err(xid, tcon->tid, ses->Suid, rc);
> else
> - trace_smb3_hardlink_done(xid, ses->Suid, tcon->tid);
> + trace_smb3_hardlink_done(xid, tcon->tid, ses->Suid);
> SMB2_set_info_free(&rqst[num_rqst++]);
> break;
> case SMB2_OP_RENAME:
> if (rc)
> - trace_smb3_rename_err(xid, ses->Suid, tcon->tid, rc);
> + trace_smb3_rename_err(xid, tcon->tid, ses->Suid, rc);
> else
> - trace_smb3_rename_done(xid, ses->Suid, tcon->tid);
> + trace_smb3_rename_done(xid, tcon->tid, ses->Suid);
> SMB2_set_info_free(&rqst[num_rqst++]);
> break;
> case SMB2_OP_RMDIR:
> if (rc)
> - trace_smb3_rmdir_err(xid, ses->Suid, tcon->tid, rc);
> + trace_smb3_rmdir_err(xid, tcon->tid, ses->Suid, rc);
> else
> - trace_smb3_rmdir_done(xid, ses->Suid, tcon->tid);
> + trace_smb3_rmdir_done(xid, tcon->tid, ses->Suid);
> SMB2_set_info_free(&rqst[num_rqst++]);
> break;
> case SMB2_OP_SET_EOF:
> if (rc)
> - trace_smb3_set_eof_err(xid, ses->Suid, tcon->tid, rc);
> + trace_smb3_set_eof_err(xid, tcon->tid, ses->Suid, rc);
> else
> - trace_smb3_set_eof_done(xid, ses->Suid, tcon->tid);
> + trace_smb3_set_eof_done(xid, tcon->tid, ses->Suid);
> SMB2_set_info_free(&rqst[num_rqst++]);
> break;
> case SMB2_OP_SET_INFO:
> if (rc)
> - trace_smb3_set_info_compound_err(xid, ses->Suid,
> - tcon->tid, rc);
> + trace_smb3_set_info_compound_err(xid, tcon->tid,
> + ses->Suid, rc);
> else
> - trace_smb3_set_info_compound_done(xid, ses->Suid,
> - tcon->tid);
> + trace_smb3_set_info_compound_done(xid, tcon->tid,
> + ses->Suid);
> SMB2_set_info_free(&rqst[num_rqst++]);
> break;
> case SMB2_OP_SET_REPARSE:
> if (rc) {
> - trace_smb3_set_reparse_compound_err(xid, ses->Suid,
> - tcon->tid, rc);
> + trace_smb3_set_reparse_compound_err(xid, tcon->tid,
> + ses->Suid, rc);
> } else {
> - trace_smb3_set_reparse_compound_done(xid, ses->Suid,
> - tcon->tid);
> + trace_smb3_set_reparse_compound_done(xid, tcon->tid,
> + ses->Suid);
> }
> SMB2_ioctl_free(&rqst[num_rqst++]);
> break;
> @@ -764,18 +764,18 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> rbuf = reparse_buf_ptr(iov);
> if (IS_ERR(rbuf)) {
> rc = PTR_ERR(rbuf);
> - trace_smb3_set_reparse_compound_err(xid, ses->Suid,
> - tcon->tid, rc);
> + trace_smb3_get_reparse_compound_err(xid, tcon->tid,
> + ses->Suid, rc);
> } else {
> idata->reparse.tag = le32_to_cpu(rbuf->ReparseTag);
> - trace_smb3_set_reparse_compound_done(xid, ses->Suid,
> - tcon->tid);
> + trace_smb3_get_reparse_compound_done(xid, tcon->tid,
> + ses->Suid);
> }
> memset(iov, 0, sizeof(*iov));
> resp_buftype[i + 1] = CIFS_NO_BUFFER;
> } else {
> - trace_smb3_set_reparse_compound_err(xid, ses->Suid,
> - tcon->tid, rc);
> + trace_smb3_get_reparse_compound_err(xid, tcon->tid,
> + ses->Suid, rc);
> }
> SMB2_ioctl_free(&rqst[num_rqst++]);
> break;
> @@ -792,11 +792,11 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> }
> }
> if (!rc) {
> - trace_smb3_query_wsl_ea_compound_done(xid, ses->Suid,
> - tcon->tid);
> + trace_smb3_query_wsl_ea_compound_done(xid, tcon->tid,
> + ses->Suid);
> } else {
> - trace_smb3_query_wsl_ea_compound_err(xid, ses->Suid,
> - tcon->tid, rc);
> + trace_smb3_query_wsl_ea_compound_err(xid, tcon->tid,
> + ses->Suid, rc);
> }
> SMB2_query_info_free(&rqst[num_rqst++]);
> break;
> --
> 2.48.1
>
>
--
Thanks,
Steve
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] smb: client: fix order of arguments of tracepoints
2025-01-19 4:38 ` Steve French
@ 2025-01-19 7:16 ` Steve French
2025-01-19 11:11 ` Ruben Devos
0 siblings, 1 reply; 5+ messages in thread
From: Steve French @ 2025-01-19 7:16 UTC (permalink / raw)
To: Ruben Devos
Cc: sfrench, pc, ronniesahlberg, sprasad, tom, bharathsm, linux-cifs
[-- Attachment #1: Type: text/plain, Size: 22056 bytes --]
Here is a minor patch to add the missing tracepoint (see attached).
Let me know if any thoughts, or other obviousb missing tracepoints
smb3: add missing tracepoint for querying wsl EAs
We had tracepoints for the return code for querying WSL EAs
(trace_smb3_query_wsl_ea_compound_err and
trace_smb3_query_wsl_ea_compound_done) but were missing one for
trace_smb3_query_wsl_ea_compound_enter.
Fixes: ea41367b2a60 ("smb: client: introduce SMB2_OP_QUERY_WSL_EA")
On Sat, Jan 18, 2025 at 10:38 PM Steve French <smfrench@gmail.com> wrote:
>
> Good catch.
>
> Looking at your patch, I noticed one trace point was missing from the
> original patch:
>
> trace_smb3_query_wsl_ea_compound_enter
>
> commit ea41367b2a602f602ea6594fc4a310520dcc64f4
> Author: Paulo Alcantara <pc@manguebit.com>
> Date: Sun Jan 28 01:12:01 2024 -0300
>
> smb: client: introduce SMB2_OP_QUERY_WSL_EA
>
> On Sat, Jan 18, 2025 at 2:04 PM Ruben Devos <devosruben6@gmail.com> wrote:
> >
> > The tracepoints based on smb3_inf_compound_*_class have tcon id and
> > session id swapped around. This results in incorrect output in
> > `trace-cmd report`.
> >
> > Fix the order of arguments to resolve this issue. The trace-cmd output
> > below shows the before and after of the smb3_delete_enter and
> > smb3_delete_done events as an example. The smb3_cmd_* events show the
> > correct session and tcon id for reference.
> >
> > Also fix tracepoint set -> get in the SMB2_OP_GET_REPARSE case.
> >
> > BEFORE:
> > rm-2211 [001] ..... 1839.550888: smb3_delete_enter: xid=281 sid=0x5 tid=0x3d path=\hello2.txt
> > rm-2211 [001] ..... 1839.550894: smb3_cmd_enter: sid=0x1ac000000003d tid=0x5 cmd=5 mid=61
> > rm-2211 [001] ..... 1839.550896: smb3_cmd_enter: sid=0x1ac000000003d tid=0x5 cmd=6 mid=62
> > rm-2211 [001] ..... 1839.552091: smb3_cmd_done: sid=0x1ac000000003d tid=0x5 cmd=5 mid=61
> > rm-2211 [001] ..... 1839.552093: smb3_cmd_done: sid=0x1ac000000003d tid=0x5 cmd=6 mid=62
> > rm-2211 [001] ..... 1839.552103: smb3_delete_done: xid=281 sid=0x5 tid=0x3d
> >
> > AFTER:
> > rm-2501 [001] ..... 3237.656110: smb3_delete_enter: xid=88 sid=0x1ac0000000041 tid=0x5 path=\hello2.txt
> > rm-2501 [001] ..... 3237.656122: smb3_cmd_enter: sid=0x1ac0000000041 tid=0x5 cmd=5 mid=84
> > rm-2501 [001] ..... 3237.656123: smb3_cmd_enter: sid=0x1ac0000000041 tid=0x5 cmd=6 mid=85
> > rm-2501 [001] ..... 3237.657909: smb3_cmd_done: sid=0x1ac0000000041 tid=0x5 cmd=5 mid=84
> > rm-2501 [001] ..... 3237.657909: smb3_cmd_done: sid=0x1ac0000000041 tid=0x5 cmd=6 mid=85
> > rm-2501 [001] ..... 3237.657922: smb3_delete_done: xid=88 sid=0x1ac0000000041 tid=0x5
> >
> > Signed-off-by: Ruben Devos <devosruben6@gmail.com>
> > ---
> > fs/smb/client/dir.c | 6 +--
> > fs/smb/client/smb2inode.c | 108 +++++++++++++++++++-------------------
> > 2 files changed, 57 insertions(+), 57 deletions(-)
> >
> > diff --git a/fs/smb/client/dir.c b/fs/smb/client/dir.c
> > index 864b194dbaa0..1822493dd084 100644
> > --- a/fs/smb/client/dir.c
> > +++ b/fs/smb/client/dir.c
> > @@ -627,7 +627,7 @@ int cifs_mknod(struct mnt_idmap *idmap, struct inode *inode,
> > goto mknod_out;
> > }
> >
> > - trace_smb3_mknod_enter(xid, tcon->ses->Suid, tcon->tid, full_path);
> > + trace_smb3_mknod_enter(xid, tcon->tid, tcon->ses->Suid, full_path);
> >
> > rc = tcon->ses->server->ops->make_node(xid, inode, direntry, tcon,
> > full_path, mode,
> > @@ -635,9 +635,9 @@ int cifs_mknod(struct mnt_idmap *idmap, struct inode *inode,
> >
> > mknod_out:
> > if (rc)
> > - trace_smb3_mknod_err(xid, tcon->ses->Suid, tcon->tid, rc);
> > + trace_smb3_mknod_err(xid, tcon->tid, tcon->ses->Suid, rc);
> > else
> > - trace_smb3_mknod_done(xid, tcon->ses->Suid, tcon->tid);
> > + trace_smb3_mknod_done(xid, tcon->tid, tcon->ses->Suid);
> >
> > free_dentry_path(page);
> > free_xid(xid);
> > diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
> > index a55f0044d30b..274672755c19 100644
> > --- a/fs/smb/client/smb2inode.c
> > +++ b/fs/smb/client/smb2inode.c
> > @@ -298,8 +298,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > goto finished;
> > }
> > num_rqst++;
> > - trace_smb3_query_info_compound_enter(xid, ses->Suid,
> > - tcon->tid, full_path);
> > + trace_smb3_query_info_compound_enter(xid, tcon->tid,
> > + ses->Suid, full_path);
> > break;
> > case SMB2_OP_POSIX_QUERY_INFO:
> > rqst[num_rqst].rq_iov = &vars->qi_iov;
> > @@ -334,18 +334,18 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > goto finished;
> > }
> > num_rqst++;
> > - trace_smb3_posix_query_info_compound_enter(xid, ses->Suid,
> > - tcon->tid, full_path);
> > + trace_smb3_posix_query_info_compound_enter(xid, tcon->tid,
> > + ses->Suid, full_path);
> > break;
> > case SMB2_OP_DELETE:
> > - trace_smb3_delete_enter(xid, ses->Suid, tcon->tid, full_path);
> > + trace_smb3_delete_enter(xid, tcon->tid, ses->Suid, full_path);
> > break;
> > case SMB2_OP_MKDIR:
> > /*
> > * Directories are created through parameters in the
> > * SMB2_open() call.
> > */
> > - trace_smb3_mkdir_enter(xid, ses->Suid, tcon->tid, full_path);
> > + trace_smb3_mkdir_enter(xid, tcon->tid, ses->Suid, full_path);
> > break;
> > case SMB2_OP_RMDIR:
> > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > @@ -363,7 +363,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > goto finished;
> > smb2_set_next_command(tcon, &rqst[num_rqst]);
> > smb2_set_related(&rqst[num_rqst++]);
> > - trace_smb3_rmdir_enter(xid, ses->Suid, tcon->tid, full_path);
> > + trace_smb3_rmdir_enter(xid, tcon->tid, ses->Suid, full_path);
> > break;
> > case SMB2_OP_SET_EOF:
> > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > @@ -398,7 +398,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > goto finished;
> > }
> > num_rqst++;
> > - trace_smb3_set_eof_enter(xid, ses->Suid, tcon->tid, full_path);
> > + trace_smb3_set_eof_enter(xid, tcon->tid, ses->Suid, full_path);
> > break;
> > case SMB2_OP_SET_INFO:
> > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > @@ -429,8 +429,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > goto finished;
> > }
> > num_rqst++;
> > - trace_smb3_set_info_compound_enter(xid, ses->Suid,
> > - tcon->tid, full_path);
> > + trace_smb3_set_info_compound_enter(xid, tcon->tid,
> > + ses->Suid, full_path);
> > break;
> > case SMB2_OP_RENAME:
> > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > @@ -469,7 +469,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > goto finished;
> > }
> > num_rqst++;
> > - trace_smb3_rename_enter(xid, ses->Suid, tcon->tid, full_path);
> > + trace_smb3_rename_enter(xid, tcon->tid, ses->Suid, full_path);
> > break;
> > case SMB2_OP_HARDLINK:
> > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > @@ -496,7 +496,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > goto finished;
> > smb2_set_next_command(tcon, &rqst[num_rqst]);
> > smb2_set_related(&rqst[num_rqst++]);
> > - trace_smb3_hardlink_enter(xid, ses->Suid, tcon->tid, full_path);
> > + trace_smb3_hardlink_enter(xid, tcon->tid, ses->Suid, full_path);
> > break;
> > case SMB2_OP_SET_REPARSE:
> > rqst[num_rqst].rq_iov = vars->io_iov;
> > @@ -523,8 +523,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > goto finished;
> > }
> > num_rqst++;
> > - trace_smb3_set_reparse_compound_enter(xid, ses->Suid,
> > - tcon->tid, full_path);
> > + trace_smb3_set_reparse_compound_enter(xid, tcon->tid,
> > + ses->Suid, full_path);
> > break;
> > case SMB2_OP_GET_REPARSE:
> > rqst[num_rqst].rq_iov = vars->io_iov;
> > @@ -549,8 +549,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > goto finished;
> > }
> > num_rqst++;
> > - trace_smb3_get_reparse_compound_enter(xid, ses->Suid,
> > - tcon->tid, full_path);
> > + trace_smb3_get_reparse_compound_enter(xid, tcon->tid,
> > + ses->Suid, full_path);
> > break;
> > case SMB2_OP_QUERY_WSL_EA:
> > rqst[num_rqst].rq_iov = &vars->ea_iov;
> > @@ -656,11 +656,11 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > }
> > SMB2_query_info_free(&rqst[num_rqst++]);
> > if (rc)
> > - trace_smb3_query_info_compound_err(xid, ses->Suid,
> > - tcon->tid, rc);
> > + trace_smb3_query_info_compound_err(xid, tcon->tid,
> > + ses->Suid, rc);
> > else
> > - trace_smb3_query_info_compound_done(xid, ses->Suid,
> > - tcon->tid);
> > + trace_smb3_query_info_compound_done(xid, tcon->tid,
> > + ses->Suid);
> > break;
> > case SMB2_OP_POSIX_QUERY_INFO:
> > idata = in_iov[i].iov_base;
> > @@ -683,15 +683,15 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> >
> > SMB2_query_info_free(&rqst[num_rqst++]);
> > if (rc)
> > - trace_smb3_posix_query_info_compound_err(xid, ses->Suid,
> > - tcon->tid, rc);
> > + trace_smb3_posix_query_info_compound_err(xid, tcon->tid,
> > + ses->Suid, rc);
> > else
> > - trace_smb3_posix_query_info_compound_done(xid, ses->Suid,
> > - tcon->tid);
> > + trace_smb3_posix_query_info_compound_done(xid, tcon->tid,
> > + ses->Suid);
> > break;
> > case SMB2_OP_DELETE:
> > if (rc)
> > - trace_smb3_delete_err(xid, ses->Suid, tcon->tid, rc);
> > + trace_smb3_delete_err(xid, tcon->tid, ses->Suid, rc);
> > else {
> > /*
> > * If dentry (hence, inode) is NULL, lease break is going to
> > @@ -699,59 +699,59 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > */
> > if (inode)
> > cifs_mark_open_handles_for_deleted_file(inode, full_path);
> > - trace_smb3_delete_done(xid, ses->Suid, tcon->tid);
> > + trace_smb3_delete_done(xid, tcon->tid, ses->Suid);
> > }
> > break;
> > case SMB2_OP_MKDIR:
> > if (rc)
> > - trace_smb3_mkdir_err(xid, ses->Suid, tcon->tid, rc);
> > + trace_smb3_mkdir_err(xid, tcon->tid, ses->Suid, rc);
> > else
> > - trace_smb3_mkdir_done(xid, ses->Suid, tcon->tid);
> > + trace_smb3_mkdir_done(xid, tcon->tid, ses->Suid);
> > break;
> > case SMB2_OP_HARDLINK:
> > if (rc)
> > - trace_smb3_hardlink_err(xid, ses->Suid, tcon->tid, rc);
> > + trace_smb3_hardlink_err(xid, tcon->tid, ses->Suid, rc);
> > else
> > - trace_smb3_hardlink_done(xid, ses->Suid, tcon->tid);
> > + trace_smb3_hardlink_done(xid, tcon->tid, ses->Suid);
> > SMB2_set_info_free(&rqst[num_rqst++]);
> > break;
> > case SMB2_OP_RENAME:
> > if (rc)
> > - trace_smb3_rename_err(xid, ses->Suid, tcon->tid, rc);
> > + trace_smb3_rename_err(xid, tcon->tid, ses->Suid, rc);
> > else
> > - trace_smb3_rename_done(xid, ses->Suid, tcon->tid);
> > + trace_smb3_rename_done(xid, tcon->tid, ses->Suid);
> > SMB2_set_info_free(&rqst[num_rqst++]);
> > break;
> > case SMB2_OP_RMDIR:
> > if (rc)
> > - trace_smb3_rmdir_err(xid, ses->Suid, tcon->tid, rc);
> > + trace_smb3_rmdir_err(xid, tcon->tid, ses->Suid, rc);
> > else
> > - trace_smb3_rmdir_done(xid, ses->Suid, tcon->tid);
> > + trace_smb3_rmdir_done(xid, tcon->tid, ses->Suid);
> > SMB2_set_info_free(&rqst[num_rqst++]);
> > break;
> > case SMB2_OP_SET_EOF:
> > if (rc)
> > - trace_smb3_set_eof_err(xid, ses->Suid, tcon->tid, rc);
> > + trace_smb3_set_eof_err(xid, tcon->tid, ses->Suid, rc);
> > else
> > - trace_smb3_set_eof_done(xid, ses->Suid, tcon->tid);
> > + trace_smb3_set_eof_done(xid, tcon->tid, ses->Suid);
> > SMB2_set_info_free(&rqst[num_rqst++]);
> > break;
> > case SMB2_OP_SET_INFO:
> > if (rc)
> > - trace_smb3_set_info_compound_err(xid, ses->Suid,
> > - tcon->tid, rc);
> > + trace_smb3_set_info_compound_err(xid, tcon->tid,
> > + ses->Suid, rc);
> > else
> > - trace_smb3_set_info_compound_done(xid, ses->Suid,
> > - tcon->tid);
> > + trace_smb3_set_info_compound_done(xid, tcon->tid,
> > + ses->Suid);
> > SMB2_set_info_free(&rqst[num_rqst++]);
> > break;
> > case SMB2_OP_SET_REPARSE:
> > if (rc) {
> > - trace_smb3_set_reparse_compound_err(xid, ses->Suid,
> > - tcon->tid, rc);
> > + trace_smb3_set_reparse_compound_err(xid, tcon->tid,
> > + ses->Suid, rc);
> > } else {
> > - trace_smb3_set_reparse_compound_done(xid, ses->Suid,
> > - tcon->tid);
> > + trace_smb3_set_reparse_compound_done(xid, tcon->tid,
> > + ses->Suid);
> > }
> > SMB2_ioctl_free(&rqst[num_rqst++]);
> > break;
> > @@ -764,18 +764,18 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > rbuf = reparse_buf_ptr(iov);
> > if (IS_ERR(rbuf)) {
> > rc = PTR_ERR(rbuf);
> > - trace_smb3_set_reparse_compound_err(xid, ses->Suid,
> > - tcon->tid, rc);
> > + trace_smb3_get_reparse_compound_err(xid, tcon->tid,
> > + ses->Suid, rc);
> > } else {
> > idata->reparse.tag = le32_to_cpu(rbuf->ReparseTag);
> > - trace_smb3_set_reparse_compound_done(xid, ses->Suid,
> > - tcon->tid);
> > + trace_smb3_get_reparse_compound_done(xid, tcon->tid,
> > + ses->Suid);
> > }
> > memset(iov, 0, sizeof(*iov));
> > resp_buftype[i + 1] = CIFS_NO_BUFFER;
> > } else {
> > - trace_smb3_set_reparse_compound_err(xid, ses->Suid,
> > - tcon->tid, rc);
> > + trace_smb3_get_reparse_compound_err(xid, tcon->tid,
> > + ses->Suid, rc);
> > }
> > SMB2_ioctl_free(&rqst[num_rqst++]);
> > break;
> > @@ -792,11 +792,11 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > }
> > }
> > if (!rc) {
> > - trace_smb3_query_wsl_ea_compound_done(xid, ses->Suid,
> > - tcon->tid);
> > + trace_smb3_query_wsl_ea_compound_done(xid, tcon->tid,
> > + ses->Suid);
> > } else {
> > - trace_smb3_query_wsl_ea_compound_err(xid, ses->Suid,
> > - tcon->tid, rc);
> > + trace_smb3_query_wsl_ea_compound_err(xid, tcon->tid,
> > + ses->Suid, rc);
> > }
> > SMB2_query_info_free(&rqst[num_rqst++]);
> > break;
> > --
> > 2.48.1
> >
> >
>
>
> --
> Thanks,
>
> Steve
--
Thanks,
Steve
[-- Attachment #2: 0001-smb3-add-missing-tracepoint-for-querying-wsl-EAs.patch --]
[-- Type: text/x-patch, Size: 1786 bytes --]
From 73a62be25e143be534a1f9027387f608b0b9dc1e Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@microsoft.com>
Date: Sun, 19 Jan 2025 01:02:06 -0600
Subject: [PATCH] smb3: add missing tracepoint for querying wsl EAs
We had tracepoints for the return code for querying WSL EAs
(trace_smb3_query_wsl_ea_compound_err and
trace_smb3_query_wsl_ea_compound_done) but were missing one for
trace_smb3_query_wsl_ea_compound_enter.
Fixes: ea41367b2a60 ("smb: client: introduce SMB2_OP_QUERY_WSL_EA")
Signed-off-by: Steve French <stfrench@microsoft.com>
---
fs/smb/client/smb2inode.c | 2 ++
fs/smb/client/trace.h | 1 +
2 files changed, 3 insertions(+)
diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
index 274672755c19..7d3685dd655a 100644
--- a/fs/smb/client/smb2inode.c
+++ b/fs/smb/client/smb2inode.c
@@ -584,6 +584,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
goto finished;
}
num_rqst++;
+ trace_smb3_query_wsl_ea_compound_enter(xid, tcon->tid,
+ ses->Suid, full_path);
break;
default:
cifs_dbg(VFS, "Invalid command\n");
diff --git a/fs/smb/client/trace.h b/fs/smb/client/trace.h
index 12cbd3428a6d..52bcb55d9952 100644
--- a/fs/smb/client/trace.h
+++ b/fs/smb/client/trace.h
@@ -674,6 +674,7 @@ DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(set_eof_enter);
DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(set_info_compound_enter);
DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(set_reparse_compound_enter);
DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(get_reparse_compound_enter);
+DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(query_wsl_ea_compound_enter);
DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(delete_enter);
DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(mkdir_enter);
DEFINE_SMB3_INF_COMPOUND_ENTER_EVENT(tdis_enter);
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] smb: client: fix order of arguments of tracepoints
2025-01-19 7:16 ` Steve French
@ 2025-01-19 11:11 ` Ruben Devos
2025-01-19 16:01 ` Steve French
0 siblings, 1 reply; 5+ messages in thread
From: Ruben Devos @ 2025-01-19 11:11 UTC (permalink / raw)
To: Steve French
Cc: sfrench, pc, ronniesahlberg, sprasad, tom, bharathsm, linux-cifs
On zondag 19 januari 2025 at 08:16:29 Steve French wrote:
> Here is a minor patch to add the missing tracepoint (see attached).
> Let me know if any thoughts, or other obviousb missing tracepoints
Hi Steve,
Thank you for your review.
I noticed the missing trace_smb3_query_wsl_ea_compound_enter too but I
was not sure if it was left out for a reason.
I'm not aware of other missing tracepoints.
I saw that both your patch and my patch are in your for-next tree now.
Does this mean everything is OK and there is no need for a v2?
>
> smb3: add missing tracepoint for querying wsl EAs
>
> We had tracepoints for the return code for querying WSL EAs
> (trace_smb3_query_wsl_ea_compound_err and
> trace_smb3_query_wsl_ea_compound_done) but were missing one for
> trace_smb3_query_wsl_ea_compound_enter.
>
> Fixes: ea41367b2a60 ("smb: client: introduce SMB2_OP_QUERY_WSL_EA")
>
>
> On Sat, Jan 18, 2025 at 10:38 PM Steve French <smfrench@gmail.com> wrote:
> >
> > Good catch.
> >
> > Looking at your patch, I noticed one trace point was missing from the
> > original patch:
> >
> > trace_smb3_query_wsl_ea_compound_enter
> >
> > commit ea41367b2a602f602ea6594fc4a310520dcc64f4
> > Author: Paulo Alcantara <pc@manguebit.com>
> > Date: Sun Jan 28 01:12:01 2024 -0300
> >
> > smb: client: introduce SMB2_OP_QUERY_WSL_EA
> >
> > On Sat, Jan 18, 2025 at 2:04 PM Ruben Devos <devosruben6@gmail.com> wrote:
> > >
> > > The tracepoints based on smb3_inf_compound_*_class have tcon id and
> > > session id swapped around. This results in incorrect output in
> > > `trace-cmd report`.
> > >
> > > Fix the order of arguments to resolve this issue. The trace-cmd output
> > > below shows the before and after of the smb3_delete_enter and
> > > smb3_delete_done events as an example. The smb3_cmd_* events show the
> > > correct session and tcon id for reference.
> > >
> > > Also fix tracepoint set -> get in the SMB2_OP_GET_REPARSE case.
> > >
> > > BEFORE:
> > > rm-2211 [001] ..... 1839.550888: smb3_delete_enter: xid=281 sid=0x5 tid=0x3d path=\hello2.txt
> > > rm-2211 [001] ..... 1839.550894: smb3_cmd_enter: sid=0x1ac000000003d tid=0x5 cmd=5 mid=61
> > > rm-2211 [001] ..... 1839.550896: smb3_cmd_enter: sid=0x1ac000000003d tid=0x5 cmd=6 mid=62
> > > rm-2211 [001] ..... 1839.552091: smb3_cmd_done: sid=0x1ac000000003d tid=0x5 cmd=5 mid=61
> > > rm-2211 [001] ..... 1839.552093: smb3_cmd_done: sid=0x1ac000000003d tid=0x5 cmd=6 mid=62
> > > rm-2211 [001] ..... 1839.552103: smb3_delete_done: xid=281 sid=0x5 tid=0x3d
> > >
> > > AFTER:
> > > rm-2501 [001] ..... 3237.656110: smb3_delete_enter: xid=88 sid=0x1ac0000000041 tid=0x5 path=\hello2.txt
> > > rm-2501 [001] ..... 3237.656122: smb3_cmd_enter: sid=0x1ac0000000041 tid=0x5 cmd=5 mid=84
> > > rm-2501 [001] ..... 3237.656123: smb3_cmd_enter: sid=0x1ac0000000041 tid=0x5 cmd=6 mid=85
> > > rm-2501 [001] ..... 3237.657909: smb3_cmd_done: sid=0x1ac0000000041 tid=0x5 cmd=5 mid=84
> > > rm-2501 [001] ..... 3237.657909: smb3_cmd_done: sid=0x1ac0000000041 tid=0x5 cmd=6 mid=85
> > > rm-2501 [001] ..... 3237.657922: smb3_delete_done: xid=88 sid=0x1ac0000000041 tid=0x5
> > >
> > > Signed-off-by: Ruben Devos <devosruben6@gmail.com>
> > > ---
> > > fs/smb/client/dir.c | 6 +--
> > > fs/smb/client/smb2inode.c | 108 +++++++++++++++++++-------------------
> > > 2 files changed, 57 insertions(+), 57 deletions(-)
> > >
> > > diff --git a/fs/smb/client/dir.c b/fs/smb/client/dir.c
> > > index 864b194dbaa0..1822493dd084 100644
> > > --- a/fs/smb/client/dir.c
> > > +++ b/fs/smb/client/dir.c
> > > @@ -627,7 +627,7 @@ int cifs_mknod(struct mnt_idmap *idmap, struct inode *inode,
> > > goto mknod_out;
> > > }
> > >
> > > - trace_smb3_mknod_enter(xid, tcon->ses->Suid, tcon->tid, full_path);
> > > + trace_smb3_mknod_enter(xid, tcon->tid, tcon->ses->Suid, full_path);
> > >
> > > rc = tcon->ses->server->ops->make_node(xid, inode, direntry, tcon,
> > > full_path, mode,
> > > @@ -635,9 +635,9 @@ int cifs_mknod(struct mnt_idmap *idmap, struct inode *inode,
> > >
> > > mknod_out:
> > > if (rc)
> > > - trace_smb3_mknod_err(xid, tcon->ses->Suid, tcon->tid, rc);
> > > + trace_smb3_mknod_err(xid, tcon->tid, tcon->ses->Suid, rc);
> > > else
> > > - trace_smb3_mknod_done(xid, tcon->ses->Suid, tcon->tid);
> > > + trace_smb3_mknod_done(xid, tcon->tid, tcon->ses->Suid);
> > >
> > > free_dentry_path(page);
> > > free_xid(xid);
> > > diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
> > > index a55f0044d30b..274672755c19 100644
> > > --- a/fs/smb/client/smb2inode.c
> > > +++ b/fs/smb/client/smb2inode.c
> > > @@ -298,8 +298,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > goto finished;
> > > }
> > > num_rqst++;
> > > - trace_smb3_query_info_compound_enter(xid, ses->Suid,
> > > - tcon->tid, full_path);
> > > + trace_smb3_query_info_compound_enter(xid, tcon->tid,
> > > + ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_POSIX_QUERY_INFO:
> > > rqst[num_rqst].rq_iov = &vars->qi_iov;
> > > @@ -334,18 +334,18 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > goto finished;
> > > }
> > > num_rqst++;
> > > - trace_smb3_posix_query_info_compound_enter(xid, ses->Suid,
> > > - tcon->tid, full_path);
> > > + trace_smb3_posix_query_info_compound_enter(xid, tcon->tid,
> > > + ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_DELETE:
> > > - trace_smb3_delete_enter(xid, ses->Suid, tcon->tid, full_path);
> > > + trace_smb3_delete_enter(xid, tcon->tid, ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_MKDIR:
> > > /*
> > > * Directories are created through parameters in the
> > > * SMB2_open() call.
> > > */
> > > - trace_smb3_mkdir_enter(xid, ses->Suid, tcon->tid, full_path);
> > > + trace_smb3_mkdir_enter(xid, tcon->tid, ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_RMDIR:
> > > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > > @@ -363,7 +363,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > goto finished;
> > > smb2_set_next_command(tcon, &rqst[num_rqst]);
> > > smb2_set_related(&rqst[num_rqst++]);
> > > - trace_smb3_rmdir_enter(xid, ses->Suid, tcon->tid, full_path);
> > > + trace_smb3_rmdir_enter(xid, tcon->tid, ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_SET_EOF:
> > > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > > @@ -398,7 +398,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > goto finished;
> > > }
> > > num_rqst++;
> > > - trace_smb3_set_eof_enter(xid, ses->Suid, tcon->tid, full_path);
> > > + trace_smb3_set_eof_enter(xid, tcon->tid, ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_SET_INFO:
> > > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > > @@ -429,8 +429,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > goto finished;
> > > }
> > > num_rqst++;
> > > - trace_smb3_set_info_compound_enter(xid, ses->Suid,
> > > - tcon->tid, full_path);
> > > + trace_smb3_set_info_compound_enter(xid, tcon->tid,
> > > + ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_RENAME:
> > > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > > @@ -469,7 +469,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > goto finished;
> > > }
> > > num_rqst++;
> > > - trace_smb3_rename_enter(xid, ses->Suid, tcon->tid, full_path);
> > > + trace_smb3_rename_enter(xid, tcon->tid, ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_HARDLINK:
> > > rqst[num_rqst].rq_iov = &vars->si_iov[0];
> > > @@ -496,7 +496,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > goto finished;
> > > smb2_set_next_command(tcon, &rqst[num_rqst]);
> > > smb2_set_related(&rqst[num_rqst++]);
> > > - trace_smb3_hardlink_enter(xid, ses->Suid, tcon->tid, full_path);
> > > + trace_smb3_hardlink_enter(xid, tcon->tid, ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_SET_REPARSE:
> > > rqst[num_rqst].rq_iov = vars->io_iov;
> > > @@ -523,8 +523,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > goto finished;
> > > }
> > > num_rqst++;
> > > - trace_smb3_set_reparse_compound_enter(xid, ses->Suid,
> > > - tcon->tid, full_path);
> > > + trace_smb3_set_reparse_compound_enter(xid, tcon->tid,
> > > + ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_GET_REPARSE:
> > > rqst[num_rqst].rq_iov = vars->io_iov;
> > > @@ -549,8 +549,8 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > goto finished;
> > > }
> > > num_rqst++;
> > > - trace_smb3_get_reparse_compound_enter(xid, ses->Suid,
> > > - tcon->tid, full_path);
> > > + trace_smb3_get_reparse_compound_enter(xid, tcon->tid,
> > > + ses->Suid, full_path);
> > > break;
> > > case SMB2_OP_QUERY_WSL_EA:
> > > rqst[num_rqst].rq_iov = &vars->ea_iov;
> > > @@ -656,11 +656,11 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > }
> > > SMB2_query_info_free(&rqst[num_rqst++]);
> > > if (rc)
> > > - trace_smb3_query_info_compound_err(xid, ses->Suid,
> > > - tcon->tid, rc);
> > > + trace_smb3_query_info_compound_err(xid, tcon->tid,
> > > + ses->Suid, rc);
> > > else
> > > - trace_smb3_query_info_compound_done(xid, ses->Suid,
> > > - tcon->tid);
> > > + trace_smb3_query_info_compound_done(xid, tcon->tid,
> > > + ses->Suid);
> > > break;
> > > case SMB2_OP_POSIX_QUERY_INFO:
> > > idata = in_iov[i].iov_base;
> > > @@ -683,15 +683,15 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > >
> > > SMB2_query_info_free(&rqst[num_rqst++]);
> > > if (rc)
> > > - trace_smb3_posix_query_info_compound_err(xid, ses->Suid,
> > > - tcon->tid, rc);
> > > + trace_smb3_posix_query_info_compound_err(xid, tcon->tid,
> > > + ses->Suid, rc);
> > > else
> > > - trace_smb3_posix_query_info_compound_done(xid, ses->Suid,
> > > - tcon->tid);
> > > + trace_smb3_posix_query_info_compound_done(xid, tcon->tid,
> > > + ses->Suid);
> > > break;
> > > case SMB2_OP_DELETE:
> > > if (rc)
> > > - trace_smb3_delete_err(xid, ses->Suid, tcon->tid, rc);
> > > + trace_smb3_delete_err(xid, tcon->tid, ses->Suid, rc);
> > > else {
> > > /*
> > > * If dentry (hence, inode) is NULL, lease break is going to
> > > @@ -699,59 +699,59 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > */
> > > if (inode)
> > > cifs_mark_open_handles_for_deleted_file(inode, full_path);
> > > - trace_smb3_delete_done(xid, ses->Suid, tcon->tid);
> > > + trace_smb3_delete_done(xid, tcon->tid, ses->Suid);
> > > }
> > > break;
> > > case SMB2_OP_MKDIR:
> > > if (rc)
> > > - trace_smb3_mkdir_err(xid, ses->Suid, tcon->tid, rc);
> > > + trace_smb3_mkdir_err(xid, tcon->tid, ses->Suid, rc);
> > > else
> > > - trace_smb3_mkdir_done(xid, ses->Suid, tcon->tid);
> > > + trace_smb3_mkdir_done(xid, tcon->tid, ses->Suid);
> > > break;
> > > case SMB2_OP_HARDLINK:
> > > if (rc)
> > > - trace_smb3_hardlink_err(xid, ses->Suid, tcon->tid, rc);
> > > + trace_smb3_hardlink_err(xid, tcon->tid, ses->Suid, rc);
> > > else
> > > - trace_smb3_hardlink_done(xid, ses->Suid, tcon->tid);
> > > + trace_smb3_hardlink_done(xid, tcon->tid, ses->Suid);
> > > SMB2_set_info_free(&rqst[num_rqst++]);
> > > break;
> > > case SMB2_OP_RENAME:
> > > if (rc)
> > > - trace_smb3_rename_err(xid, ses->Suid, tcon->tid, rc);
> > > + trace_smb3_rename_err(xid, tcon->tid, ses->Suid, rc);
> > > else
> > > - trace_smb3_rename_done(xid, ses->Suid, tcon->tid);
> > > + trace_smb3_rename_done(xid, tcon->tid, ses->Suid);
> > > SMB2_set_info_free(&rqst[num_rqst++]);
> > > break;
> > > case SMB2_OP_RMDIR:
> > > if (rc)
> > > - trace_smb3_rmdir_err(xid, ses->Suid, tcon->tid, rc);
> > > + trace_smb3_rmdir_err(xid, tcon->tid, ses->Suid, rc);
> > > else
> > > - trace_smb3_rmdir_done(xid, ses->Suid, tcon->tid);
> > > + trace_smb3_rmdir_done(xid, tcon->tid, ses->Suid);
> > > SMB2_set_info_free(&rqst[num_rqst++]);
> > > break;
> > > case SMB2_OP_SET_EOF:
> > > if (rc)
> > > - trace_smb3_set_eof_err(xid, ses->Suid, tcon->tid, rc);
> > > + trace_smb3_set_eof_err(xid, tcon->tid, ses->Suid, rc);
> > > else
> > > - trace_smb3_set_eof_done(xid, ses->Suid, tcon->tid);
> > > + trace_smb3_set_eof_done(xid, tcon->tid, ses->Suid);
> > > SMB2_set_info_free(&rqst[num_rqst++]);
> > > break;
> > > case SMB2_OP_SET_INFO:
> > > if (rc)
> > > - trace_smb3_set_info_compound_err(xid, ses->Suid,
> > > - tcon->tid, rc);
> > > + trace_smb3_set_info_compound_err(xid, tcon->tid,
> > > + ses->Suid, rc);
> > > else
> > > - trace_smb3_set_info_compound_done(xid, ses->Suid,
> > > - tcon->tid);
> > > + trace_smb3_set_info_compound_done(xid, tcon->tid,
> > > + ses->Suid);
> > > SMB2_set_info_free(&rqst[num_rqst++]);
> > > break;
> > > case SMB2_OP_SET_REPARSE:
> > > if (rc) {
> > > - trace_smb3_set_reparse_compound_err(xid, ses->Suid,
> > > - tcon->tid, rc);
> > > + trace_smb3_set_reparse_compound_err(xid, tcon->tid,
> > > + ses->Suid, rc);
> > > } else {
> > > - trace_smb3_set_reparse_compound_done(xid, ses->Suid,
> > > - tcon->tid);
> > > + trace_smb3_set_reparse_compound_done(xid, tcon->tid,
> > > + ses->Suid);
> > > }
> > > SMB2_ioctl_free(&rqst[num_rqst++]);
> > > break;
> > > @@ -764,18 +764,18 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > rbuf = reparse_buf_ptr(iov);
> > > if (IS_ERR(rbuf)) {
> > > rc = PTR_ERR(rbuf);
> > > - trace_smb3_set_reparse_compound_err(xid, ses->Suid,
> > > - tcon->tid, rc);
> > > + trace_smb3_get_reparse_compound_err(xid, tcon->tid,
> > > + ses->Suid, rc);
> > > } else {
> > > idata->reparse.tag = le32_to_cpu(rbuf->ReparseTag);
> > > - trace_smb3_set_reparse_compound_done(xid, ses->Suid,
> > > - tcon->tid);
> > > + trace_smb3_get_reparse_compound_done(xid, tcon->tid,
> > > + ses->Suid);
> > > }
> > > memset(iov, 0, sizeof(*iov));
> > > resp_buftype[i + 1] = CIFS_NO_BUFFER;
> > > } else {
> > > - trace_smb3_set_reparse_compound_err(xid, ses->Suid,
> > > - tcon->tid, rc);
> > > + trace_smb3_get_reparse_compound_err(xid, tcon->tid,
> > > + ses->Suid, rc);
> > > }
> > > SMB2_ioctl_free(&rqst[num_rqst++]);
> > > break;
> > > @@ -792,11 +792,11 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
> > > }
> > > }
> > > if (!rc) {
> > > - trace_smb3_query_wsl_ea_compound_done(xid, ses->Suid,
> > > - tcon->tid);
> > > + trace_smb3_query_wsl_ea_compound_done(xid, tcon->tid,
> > > + ses->Suid);
> > > } else {
> > > - trace_smb3_query_wsl_ea_compound_err(xid, ses->Suid,
> > > - tcon->tid, rc);
> > > + trace_smb3_query_wsl_ea_compound_err(xid, tcon->tid,
> > > + ses->Suid, rc);
> > > }
> > > SMB2_query_info_free(&rqst[num_rqst++]);
> > > break;
> > > --
> > > 2.48.1
> > >
> > >
> >
> >
> > --
> > Thanks,
> >
> > Steve
>
>
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] smb: client: fix order of arguments of tracepoints
2025-01-19 11:11 ` Ruben Devos
@ 2025-01-19 16:01 ` Steve French
0 siblings, 0 replies; 5+ messages in thread
From: Steve French @ 2025-01-19 16:01 UTC (permalink / raw)
To: Ruben Devos
Cc: sfrench, pc, ronniesahlberg, sprasad, tom, bharathsm, linux-cifs
On Sun, Jan 19, 2025 at 5:11 AM Ruben Devos <devosruben6@gmail.com> wrote:
>
> On zondag 19 januari 2025 at 08:16:29 Steve French wrote:
> > Here is a minor patch to add the missing tracepoint (see attached).
> > Let me know if any thoughts, or other obviousb missing tracepoints
> Hi Steve,
>
> Thank you for your review.
> I noticed the missing trace_smb3_query_wsl_ea_compound_enter too but I
> was not sure if it was left out for a reason.
> I'm not aware of other missing tracepoints.
>
> I saw that both your patch and my patch are in your for-next tree now.
> Does this mean everything is OK and there is no need for a v2?
Yes, it is in for-next. I didn't see any obvious problems, but will welcome
any additional testing and review.since a lot of patches to go through for
the upcoming merge window
--
Thanks,
Steve
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-01-19 16:01 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-18 20:03 [PATCH] smb: client: fix order of arguments of tracepoints Ruben Devos
2025-01-19 4:38 ` Steve French
2025-01-19 7:16 ` Steve French
2025-01-19 11:11 ` Ruben Devos
2025-01-19 16:01 ` Steve French
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.