smb3: Add dynamic trace points for RDMA (smbdirect) reconnect
authorSteve French <stfrench@microsoft.com>
Tue, 19 Sep 2023 16:03:24 +0000 (11:03 -0500)
committerSteve French <stfrench@microsoft.com>
Tue, 19 Sep 2023 16:03:24 +0000 (11:03 -0500)
     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>
fs/smb/client/smbdirect.c
fs/smb/client/trace.h

index 2a2aec8c61129b907acc7b1418e8207548e3716b..94df9eec3d8d1c240d6b4573c7fe1884ef99fdd4 100644 (file)
@@ -1401,10 +1401,13 @@ create_conn:
        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)
index a7e4755bed0fc240267f68f48a652ee7e9428083..de199ec9f7263daf369639d2bda1df453f225e59 100644 (file)
@@ -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,