mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 07:33:19 +02:00
smb: client: add oplock level to smb3_open_done tracepoint
Add an oplock field to the smb3_open_done_class trace event to show the granted oplock/lease level. Move the trace_smb3_open_done call after smb2_parse_contexts() so the oplock value reflects the parsed lease state (R/W/H flags). Signed-off-by: Bharath SM <bharathsm@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
afab3f61ae
commit
4c46b677f3
|
|
@ -3044,7 +3044,8 @@ int smb311_posix_mkdir(const unsigned int xid, struct inode *inode,
|
|||
}
|
||||
|
||||
trace_smb3_posix_mkdir_done(xid, rsp->PersistentFileId, tcon->tid, ses->Suid,
|
||||
CREATE_NOT_FILE, FILE_WRITE_ATTRIBUTES);
|
||||
CREATE_NOT_FILE, FILE_WRITE_ATTRIBUTES,
|
||||
rsp->OplockLevel);
|
||||
|
||||
SMB2_close(xid, tcon, rsp->PersistentFileId, rsp->VolatileFileId);
|
||||
|
||||
|
|
@ -3321,9 +3322,6 @@ SMB2_open(const unsigned int xid, struct cifs_open_parms *oparms, __le16 *path,
|
|||
goto creat_exit;
|
||||
} else if (rsp == NULL) /* unlikely to happen, but safer to check */
|
||||
goto creat_exit;
|
||||
else
|
||||
trace_smb3_open_done(xid, rsp->PersistentFileId, tcon->tid, ses->Suid,
|
||||
oparms->create_options, oparms->desired_access);
|
||||
|
||||
atomic_inc(&tcon->num_remote_opens);
|
||||
oparms->fid->persistent_fid = rsp->PersistentFileId;
|
||||
|
|
@ -3348,6 +3346,10 @@ SMB2_open(const unsigned int xid, struct cifs_open_parms *oparms, __le16 *path,
|
|||
|
||||
rc = smb2_parse_contexts(server, &rsp_iov, &oparms->fid->epoch,
|
||||
oparms->fid->lease_key, oplock, buf, posix);
|
||||
|
||||
trace_smb3_open_done(xid, rsp->PersistentFileId, tcon->tid, ses->Suid,
|
||||
oparms->create_options, oparms->desired_access,
|
||||
*oplock);
|
||||
creat_exit:
|
||||
SMB2_open_free(&rqst);
|
||||
free_rsp_buf(resp_buftype, rsp);
|
||||
|
|
|
|||
|
|
@ -1321,8 +1321,9 @@ DECLARE_EVENT_CLASS(smb3_open_done_class,
|
|||
__u32 tid,
|
||||
__u64 sesid,
|
||||
int create_options,
|
||||
int desired_access),
|
||||
TP_ARGS(xid, fid, tid, sesid, create_options, desired_access),
|
||||
int desired_access,
|
||||
__u8 oplock),
|
||||
TP_ARGS(xid, fid, tid, sesid, create_options, desired_access, oplock),
|
||||
TP_STRUCT__entry(
|
||||
__field(unsigned int, xid)
|
||||
__field(__u64, fid)
|
||||
|
|
@ -1330,6 +1331,7 @@ DECLARE_EVENT_CLASS(smb3_open_done_class,
|
|||
__field(__u64, sesid)
|
||||
__field(int, create_options)
|
||||
__field(int, desired_access)
|
||||
__field(__u8, oplock)
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->xid = xid;
|
||||
|
|
@ -1338,10 +1340,11 @@ DECLARE_EVENT_CLASS(smb3_open_done_class,
|
|||
__entry->sesid = sesid;
|
||||
__entry->create_options = create_options;
|
||||
__entry->desired_access = desired_access;
|
||||
__entry->oplock = oplock;
|
||||
),
|
||||
TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx cr_opts=0x%x des_access=0x%x",
|
||||
TP_printk("xid=%u sid=0x%llx tid=0x%x fid=0x%llx cr_opts=0x%x des_access=0x%x oplock=0x%x",
|
||||
__entry->xid, __entry->sesid, __entry->tid, __entry->fid,
|
||||
__entry->create_options, __entry->desired_access)
|
||||
__entry->create_options, __entry->desired_access, __entry->oplock)
|
||||
)
|
||||
|
||||
#define DEFINE_SMB3_OPEN_DONE_EVENT(name) \
|
||||
|
|
@ -1351,8 +1354,9 @@ DEFINE_EVENT(smb3_open_done_class, smb3_##name, \
|
|||
__u32 tid, \
|
||||
__u64 sesid, \
|
||||
int create_options, \
|
||||
int desired_access), \
|
||||
TP_ARGS(xid, fid, tid, sesid, create_options, desired_access))
|
||||
int desired_access, \
|
||||
__u8 oplock), \
|
||||
TP_ARGS(xid, fid, tid, sesid, create_options, desired_access, oplock))
|
||||
|
||||
DEFINE_SMB3_OPEN_DONE_EVENT(open_done);
|
||||
DEFINE_SMB3_OPEN_DONE_EVENT(posix_mkdir_done);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user