Commit 61986a58 authored by Shyam Prasad N's avatar Shyam Prasad N Committed by Steve French
Browse files

cifs: new dynamic tracepoint to track ses not found errors



It is perfectly valid to not find session not found errors
when a reconnect of a session happens when requests for the
same session are happening in parallel.

We had these log messages as VFS logs. My last change dumped
these logs as FYI logs.

This change just creates a new dynamic tracepoint to capture
events of this type, just in case it is useful while
debugging issues in the future.

Signed-off-by: default avatarShyam Prasad N <sprasad@microsoft.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent ac615db0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -4414,6 +4414,8 @@ smb2_get_enc_key(struct TCP_Server_Info *server, __u64 ses_id, int enc, u8 *key)
	}
	spin_unlock(&cifs_tcp_ses_lock);

	trace_smb3_ses_not_found(ses_id);

	return -EAGAIN;
}
/*
+1 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ int smb2_get_sign_key(__u64 ses_id, struct TCP_Server_Info *server, u8 *key)
		if (ses->Suid == ses_id)
			goto found;
	}
	trace_smb3_ses_not_found(ses_id);
	cifs_server_dbg(FYI, "%s: Could not find session 0x%llx\n",
			__func__, ses_id);
	rc = -ENOENT;
+20 −0
Original line number Diff line number Diff line
@@ -1003,6 +1003,26 @@ DEFINE_EVENT(smb3_reconnect_class, smb3_##name, \
DEFINE_SMB3_RECONNECT_EVENT(reconnect);
DEFINE_SMB3_RECONNECT_EVENT(partial_send_reconnect);

DECLARE_EVENT_CLASS(smb3_ses_class,
	TP_PROTO(__u64	sesid),
	TP_ARGS(sesid),
	TP_STRUCT__entry(
		__field(__u64, sesid)
	),
	TP_fast_assign(
		__entry->sesid = sesid;
	),
	TP_printk("sid=0x%llx",
		__entry->sesid)
)

#define DEFINE_SMB3_SES_EVENT(name)        \
DEFINE_EVENT(smb3_ses_class, smb3_##name,  \
	TP_PROTO(__u64	sesid),				\
	TP_ARGS(sesid))

DEFINE_SMB3_SES_EVENT(ses_not_found);

DECLARE_EVENT_CLASS(smb3_credit_class,
	TP_PROTO(__u64	currmid,
		__u64 conn_id,