linux/fs/smb/client
Steve French de4eceab57 smb3: allow dumping session and tcon id to improve stats analysis and debugging
When multiple mounts are to the same share from the same client it was not
possible to determine which section of /proc/fs/cifs/Stats (and DebugData)
correspond to that mount.  In some recent examples this turned out to  be
a significant problem when trying to analyze performance data - since
there are many cases where unless we know the tree id and session id we
can't figure out which stats (e.g. number of SMB3.1.1 requests by type,
the total time they take, which is slowest, how many fail etc.) apply to
which mount. The only existing loosely related ioctl CIFS_IOC_GET_MNT_INFO
does not return the information needed to uniquely identify which tcon
is which mount although it does return various flags and device info.

Add a cifs.ko ioctl CIFS_IOC_GET_TCON_INFO (0x800ccf0c) to return tid,
session id, tree connect count.

Cc: stable@vger.kernel.org
Reviewed-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2023-11-10 02:00:30 -06:00
..
asn1.c
cached_dir.c smb: client: fix use-after-free in smb2_query_info_compound() 2023-11-02 08:06:06 -05:00
cached_dir.h smb: client: make laundromat a delayed worker 2023-10-12 09:41:04 -05:00
cifs_debug.c cifs: distribute channels across interfaces based on speed 2023-11-09 10:25:17 -06:00
cifs_debug.h
cifs_fs_sb.h
cifs_ioctl.h smb3: allow dumping session and tcon id to improve stats analysis and debugging 2023-11-10 02:00:30 -06:00
cifs_spnego.c
cifs_spnego.h
cifs_spnego_negtokeninit.asn1
cifs_swn.c
cifs_swn.h
cifs_unicode.c fs/smb/client: Use common code in client 2023-08-30 08:55:52 -05:00
cifs_unicode.h fs/smb/client: Use common code in client 2023-08-30 08:55:52 -05:00
cifsacl.c
cifsacl.h
cifsencrypt.c
cifsfs.c smb3: fix touch -h of symlink 2023-10-22 19:03:41 -05:00
cifsfs.h smb: move cifs_xattr_handlers to .rodata 2023-10-10 13:49:19 +02:00
cifsglob.h cifs: distribute channels across interfaces based on speed 2023-11-09 10:25:17 -06:00
cifspdu.h smb3: fix creating FIFOs when mounting with "sfu" mount option 2023-10-31 12:23:11 -05:00
cifsproto.h cifs: do not pass cifs_sb when trying to add channels 2023-11-09 10:25:21 -06:00
cifsroot.c
cifssmb.c cifs: fix charset issue in reconnection 2023-07-25 00:31:24 -05:00
connect.c cifs: reconnect work should have reference on server struct 2023-11-09 10:25:32 -06:00
dfs.c smb: client: fix mount when dns_resolver key is not available 2023-11-09 12:59:36 -06:00
dfs.h smb: client: get rid of dfs code dep in namespace.c 2023-08-20 16:05:50 -05:00
dfs_cache.c smb: client: ensure to try all targets when finding nested links 2023-08-20 16:05:50 -05:00
dfs_cache.h smb: client: ensure to try all targets when finding nested links 2023-08-20 16:05:50 -05:00
dir.c smb: client: get rid of dfs naming in automount code 2023-08-20 16:05:50 -05:00
dns_resolve.c
dns_resolve.h
export.c
file.c client: convert to new timestamp accessors 2023-10-18 14:08:27 +02:00
fs_context.c fs/smb/client: Reset password pointer to NULL 2023-09-28 14:49:51 -05:00
fs_context.h smb: client: fix mount when dns_resolver key is not available 2023-11-09 12:59:36 -06:00
fscache.c smb: propagate error code of extract_sharename() 2023-08-30 23:38:49 -05:00
fscache.h client: convert to new timestamp accessors 2023-10-18 14:08:27 +02:00
inode.c 15 cifs client fixes 2023-11-04 09:13:50 -10:00
ioctl.c smb3: allow dumping session and tcon id to improve stats analysis and debugging 2023-11-10 02:00:30 -06:00
Kconfig fs/smb/client: Use common code in client 2023-08-30 08:55:52 -05:00
link.c smb: use crypto_shash_digest() in symlink_hash() 2023-10-31 12:38:26 -05:00
Makefile smb: client: get rid of dfs code dep in namespace.c 2023-08-20 16:05:50 -05:00
misc.c smb3: do not start laundromat thread when dir leases 2023-09-19 13:32:02 -05:00
namespace.c smb: client: fix mount when dns_resolver key is not available 2023-11-09 12:59:36 -06:00
netlink.c
netlink.h
netmisc.c
nterr.c
nterr.h
ntlmssp.h cifs: Add client version details to NTLM authenticate message 2023-10-22 19:03:42 -05:00
readdir.c smb: cilent: set reparse mount points as automounts 2023-08-20 16:05:50 -05:00
rfc1002pdu.h
sess.c smb3: minor cleanup of session handling code 2023-11-09 10:25:42 -06:00
smb1ops.c smb: client: do not query reparse points twice on symlinks 2023-08-20 16:05:50 -05:00
smb2file.c
smb2glob.h
smb2inode.c smb: client: handle STATUS_IO_REPARSE_TAG_NOT_HANDLED 2023-09-20 16:12:09 -05:00
smb2maperror.c smb3: remove duplicate error mapping 2023-09-20 16:04:51 -05:00
smb2misc.c smb: client: fix potential deadlock when releasing mids 2023-10-31 12:38:02 -05:00
smb2ops.c cifs: account for primary channel in the interface list 2023-11-09 10:25:19 -06:00
smb2pdu.c cifs: reconnect work should have reference on server struct 2023-11-09 10:25:32 -06:00
smb2pdu.h
smb2proto.h smb: client: move some params to cifs_open_info_data 2023-08-20 16:05:50 -05:00
smb2status.h
smb2transport.c cifs: handle cases where a channel is closed 2023-11-09 10:25:14 -06:00
smbdirect.c smb3: Add dynamic trace points for RDMA (smbdirect) reconnect 2023-09-19 11:03:24 -05:00
smbdirect.h
smbencrypt.c
smberr.h
trace.c
trace.h smb3: Add dynamic trace points for RDMA (smbdirect) reconnect 2023-09-19 11:03:24 -05:00
transport.c smb: client: fix potential deadlock when releasing mids 2023-10-31 12:38:02 -05:00
unc.c
winucase.c
xattr.c smb3: fix caching of ctime on setxattr 2023-11-09 10:25:58 -06:00