aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs
diff options
context:
space:
mode:
authorSteve French <stfrench@microsoft.com>2022-05-21 23:56:16 -0500
committerSteve French <stfrench@microsoft.com>2022-05-21 23:56:16 -0500
commitfb253d5ba3fcbd3b4216bcc37d019926f5e32ebb (patch)
treebf869c69939bcd87dfddd165d3ece529367dddd3 /fs/cifs
parentcifs: smbd: fix typo in comment (diff)
downloadlinux-dev-fb253d5ba3fcbd3b4216bcc37d019926f5e32ebb.tar.xz
linux-dev-fb253d5ba3fcbd3b4216bcc37d019926f5e32ebb.zip
smb3: add trace point for lease not found issue
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>
Diffstat (limited to 'fs/cifs')
-rw-r--r--fs/cifs/smb2misc.c6
-rw-r--r--fs/cifs/trace.h1
2 files changed, 7 insertions, 0 deletions
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,