linux/fs/cifs
Steve French 3d4ef9a153 smb3: fix redundant opens on root
In SMB2/SMB3 unlike in cifs we unnecessarily open the root of the share
over and over again in various places during mount and path revalidation
and also in statfs.  This patch cuts redundant traffic (opens and closes)
by simply keeping the directory handle for the root around (and reopening
it as needed on reconnect), so query calls don't require three round
trips to copmlete - just one, and eases load on network, client and
server (on mount alone, cuts network traffic by more than a third).

Also add a new cifs mount parm "nohandlecache" to allow users whose
servers might have resource constraints (eg in case they have a server
with so many users connecting to it that this extra handle per mount
could possibly be a resource concern).

Signed-off-by: Steve French <smfrench@gmail.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
2018-05-27 17:56:35 -05:00
..
asn1.c [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg 2013-05-04 22:17:23 -05:00
cache.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
cifs_debug.c CIFS: add ONCE flag for cifs_dbg type 2018-04-11 16:44:58 -05:00
cifs_debug.h CIFS: fix typo in cifs_dbg 2018-04-20 13:39:10 -05:00
cifs_dfs_ref.c CIFS: add build_path_from_dentry_optional_prefix() 2017-03-01 22:26:10 -06:00
cifs_fs_sb.h smb3: fix redundant opens on root 2018-05-27 17:56:35 -05:00
cifs_ioctl.h Enable previous version support 2016-10-13 19:48:11 -05:00
cifs_spnego.c cifs: Create dedicated keyring for spnego operations 2016-05-19 21:56:30 -05:00
cifs_spnego.h [CIFS] Rename three structures to avoid camel case 2011-05-27 04:34:02 +00:00
cifs_unicode.c [SMB3] Remove ifdef since SMB3 (and later) now STRONGLY preferred 2017-07-08 18:57:07 -05:00
cifs_unicode.h [SMB3] Remove ifdef since SMB3 (and later) now STRONGLY preferred 2017-07-08 18:57:07 -05:00
cifs_uniupr.h
cifsacl.c fs/cifs/cifsacl.c Fixes typo in a comment 2018-01-28 09:19:45 -06:00
cifsacl.h cifs: fix SID binary to string conversion 2012-12-11 11:48:49 -06:00
cifsencrypt.c CIFS: fix sha512 check in cifs_crypto_secmech_release 2018-04-01 20:24:40 -05:00
cifsfs.c smb3: fix redundant opens on root 2018-05-27 17:56:35 -05:00
cifsfs.h update internal version number for cifs.ko 2018-01-26 17:03:01 -06:00
cifsglob.h smb3: fix redundant opens on root 2018-05-27 17:56:35 -05:00
cifspdu.h CIFS: move DFS response parsing out of SMB1 code 2017-03-01 22:26:10 -06:00
cifsproto.h CIFS: refactor crypto shash/sdesc allocation&free 2018-04-01 20:24:39 -05:00
cifssmb.c smb3: fix redundant opens on root 2018-05-27 17:56:35 -05:00
connect.c smb3: fix redundant opens on root 2018-05-27 17:56:35 -05:00
dir.c cifs: do not allow creating sockets except with SMB1 posix exensions 2018-04-20 13:31:32 -05:00
dns_resolve.c cifs: fix composing of mount options for DFS referrals 2013-05-24 13:08:31 -05:00
dns_resolve.h
export.c [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg 2013-05-04 22:17:23 -05:00
file.c fs: cifs: Adding new return type vm_fault_t 2018-04-17 14:44:35 -05:00
fscache.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
fscache.h fscache: Attach the index key and aux data to the cookie 2018-04-04 13:41:28 +01:00
inode.c cifs: Use ULL suffix for 64-bit constant 2018-04-11 16:44:58 -05:00
ioctl.c [SMB3] Remove ifdef since SMB3 (and later) now STRONGLY preferred 2017-07-08 18:57:07 -05:00
Kconfig IB: remove redundant INFINIBAND kconfig dependencies 2018-05-09 08:51:03 -04:00
link.c CIFS: refactor crypto shash/sdesc allocation&free 2018-04-01 20:24:39 -05:00
Makefile CIFS: SMBD: Establish SMB Direct connection 2018-01-24 19:49:05 -06:00
misc.c smb3: fix redundant opens on root 2018-05-27 17:56:35 -05:00
netmisc.c cifs: small underflow in cnvrtDosUnixTm() 2017-05-02 14:57:34 -05:00
nterr.c CIFS: Rename 7 error codes to NT_ style 2012-07-24 10:25:10 -05:00
nterr.h CIFS: Rename 7 error codes to NT_ style 2012-07-24 10:25:10 -05:00
ntlmssp.h cifs: dynamic allocation of ntlmssp blob 2016-06-23 23:45:07 -05:00
readdir.c cifs: initialize file_info_lock 2017-01-14 14:58:29 -06:00
rfc1002pdu.h
sess.c smb2: Enforce sec= mount option 2017-03-02 23:13:37 -06:00
smb1ops.c cifs: add server->vals->header_preamble_size 2018-04-02 13:09:44 -05:00
smb2file.c CIFS: use tcon_ipc instead of use_ipc parameter of SMB2_ioctl 2018-01-26 17:03:00 -06:00
smb2glob.h CIFS: Separate SMB2 header structure 2017-02-01 16:46:34 -06:00
smb2inode.c smb3: fix redundant opens on root 2018-05-27 17:56:35 -05:00
smb2maperror.c Don't log expected error on DFS referral request 2018-04-01 20:24:40 -05:00
smb2misc.c smb3.11: replace a 4 with server->vals->header_preamble_size 2018-04-12 20:32:13 -05:00
smb2ops.c smb3: fix redundant opens on root 2018-05-27 17:56:35 -05:00
smb2pdu.c cifs: smbd: Enable signing with smbdirect 2018-05-09 11:48:35 -05:00
smb2pdu.h SMB3: Fix 3.11 encryption to Windows and handle encrypted smb3 tcon 2018-04-24 10:07:14 -05:00
smb2proto.h smb3: fix redundant opens on root 2018-05-27 17:56:35 -05:00
smb2status.h CIFS: Add SMB2 status codes 2012-07-24 10:25:13 -05:00
smb2transport.c cifs: add resp_buf_size to the mid_q_entry structure 2018-04-12 20:32:48 -05:00
smbdirect.c cifs: smbd: Avoid allocating iov on the stack 2018-04-25 11:15:58 -05:00
smbdirect.h move a few externs to smbdirect.h to eliminate warning 2018-01-26 17:03:00 -06:00
smbencrypt.c CIFS: refactor crypto shash/sdesc allocation&free 2018-04-01 20:24:39 -05:00
smberr.h
smbfsctl.h [SMB3] Send durable handle v2 contexts when use of persistent handles required 2015-11-03 09:26:27 -06:00
transport.c SMB311: Fix reconnect 2018-04-25 11:15:20 -05:00
winucase.c [CIFS] quiet sparse compile warning 2013-09-08 14:54:24 -05:00
xattr.c Rename superblock flags (MS_xyz -> SB_xyz) 2017-11-27 13:05:09 -08:00