Skip to content

Commit

Permalink
smb3: Add dynamic trace points for RDMA (smbdirect) reconnect
Browse files Browse the repository at this point in the history
     smb3_smbd_connect_done and smb3_smbd_connect_err

To improve debugging of RDMA issues add those two. We already
had dynamic tracepoints for non-RDMA connect done and error cases.

Reviewed-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
  • Loading branch information
Steve French committed Sep 19, 2023
1 parent ce9ecca commit e3603cc
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
9 changes: 6 additions & 3 deletions fs/smb/client/smbdirect.c
Original file line number Diff line number Diff line change
Expand Up @@ -1401,10 +1401,13 @@ int smbd_reconnect(struct TCP_Server_Info *server)
server->smbd_conn = smbd_get_connection(
server, (struct sockaddr *) &server->dstaddr);

if (server->smbd_conn)
if (server->smbd_conn) {
cifs_dbg(VFS, "RDMA transport re-established\n");

return server->smbd_conn ? 0 : -ENOENT;
trace_smb3_smbd_connect_done(server->hostname, server->conn_id, &server->dstaddr);
return 0;
}
trace_smb3_smbd_connect_err(server->hostname, server->conn_id, &server->dstaddr);
return -ENOENT;
}

static void destroy_caches_and_workqueue(struct smbd_connection *info)
Expand Down
2 changes: 2 additions & 0 deletions fs/smb/client/trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -935,6 +935,8 @@ DEFINE_EVENT(smb3_connect_class, smb3_##name, \
TP_ARGS(hostname, conn_id, addr))

DEFINE_SMB3_CONNECT_EVENT(connect_done);
DEFINE_SMB3_CONNECT_EVENT(smbd_connect_done);
DEFINE_SMB3_CONNECT_EVENT(smbd_connect_err);

DECLARE_EVENT_CLASS(smb3_connect_err_class,
TP_PROTO(char *hostname, __u64 conn_id,
Expand Down

0 comments on commit e3603cc

Please sign in to comment.