From: Steve French <stfrench@microsoft.com>
Date: Sat, 21 May 2022 23:56:16 -0500
Subject: [PATCH] smb3: add trace point for lease not found issue
Git-commit: fb253d5ba3fcbd3b4216bcc37d019926f5e32ebb
References: bsc#1193629
Patch-mainline: v5.18
When trying to debug problems with server sending us a
lease we don't recognize, it would be helpful to have
a dynamic trace point for this case. New tracepoint
is called trace_smb3_lease_not_found
Acked-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Acked-by: Enzo Matsumiya <ematsumiya@suse.de>
---
fs/cifs/smb2misc.c | 6 ++++++
fs/cifs/trace.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c
index 15b5d2565e79..f236beaff96d 100644
--- a/fs/cifs/smb2misc.c
+++ b/fs/cifs/smb2misc.c
@@ -656,6 +656,12 @@ smb2_is_valid_lease_break(char *buffer)
}
spin_unlock(&cifs_tcp_ses_lock);
cifs_dbg(FYI, "Can not process lease break - no lease matched\n");
+ trace_smb3_lease_not_found(le32_to_cpu(rsp->CurrentLeaseState),
+ le32_to_cpu(rsp->hdr.Id.SyncId.TreeId),
+ le64_to_cpu(rsp->hdr.SessionId),
+ *((u64 *)rsp->LeaseKey),
+ *((u64 *)&rsp->LeaseKey[8]));
+
return false;
}
diff --git a/fs/cifs/trace.h b/fs/cifs/trace.h
index bc279616c513..09d3dfed86d9 100644
--- a/fs/cifs/trace.h
+++ b/fs/cifs/trace.h
@@ -814,6 +814,7 @@ DEFINE_EVENT(smb3_lease_done_class, smb3_##name, \
TP_ARGS(lease_state, tid, sesid, lease_key_low, lease_key_high))
DEFINE_SMB3_LEASE_DONE_EVENT(lease_done);
+DEFINE_SMB3_LEASE_DONE_EVENT(lease_not_found);
DECLARE_EVENT_CLASS(smb3_lease_err_class,
TP_PROTO(__u32 lease_state,
--
2.36.1