linux/fs/cifs
Paulo Alcantara (SUSE) 046aca3c25 cifs: Optimize readdir on reparse points
When listing a directory with thounsands of files and most of them are
reparse points, we simply marked all those dentries for revalidation
and then sending additional (compounded) create/getinfo/close requests
for each of them.

Instead, upon receiving a response from an SMB2_QUERY_DIRECTORY
(FileIdFullDirectoryInformation) command, the directory entries that
have a file attribute of FILE_ATTRIBUTE_REPARSE_POINT will contain an
EaSize field with a reparse tag in it, so we parse it and mark the
dentry for revalidation only if it is a DFS or a symlink.

Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
2019-12-23 09:04:44 -06:00
..
asn1.c
cache.c
cifs_debug.c cifs: dump channel info in DebugData 2019-11-25 01:17:12 -06:00
cifs_debug.h
cifs_dfs_ref.c
cifs_fs_sb.h
cifs_ioctl.h
cifs_spnego.c cifs: switch servers depending on binding state 2019-11-25 01:16:30 -06:00
cifs_spnego.h
cifs_unicode.c
cifs_unicode.h
cifs_uniupr.h
cifsacl.c smb3: fix mode passed in on create for modetosid mount option 2019-12-06 14:15:52 -06:00
cifsacl.h smb3: fix mode passed in on create for modetosid mount option 2019-12-06 14:15:52 -06:00
cifsencrypt.c
cifsfs.c Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-12-06 09:06:58 -08:00
cifsfs.h cifs: update internal module version number 2019-11-25 10:00:02 -06:00
cifsglob.h cifs: Optimize readdir on reparse points 2019-12-23 09:04:44 -06:00
cifspdu.h
cifsproto.h smb3: fix mode passed in on create for modetosid mount option 2019-12-06 14:15:52 -06:00
cifsroot.c
cifssmb.c CIFS: Close cached root handle only if it has a lease 2019-12-13 00:49:57 -06:00
connect.c cifs: Fix lookup of SMB connections on multichannel 2019-12-04 11:50:32 -06:00
dfs_cache.c cifs: Fix lookup of root ses in DFS referral cache 2019-11-25 09:25:32 -06:00
dfs_cache.h
dir.c CIFS: Return directly after a failed build_path_from_dentry() in cifs_do_create() 2019-11-25 01:14:53 -06:00
dns_resolve.c
dns_resolve.h
export.c
file.c smb3: query attributes on file close 2019-12-03 15:48:02 -06:00
fscache.c
fscache.h
inode.c fs: cifs: Fix atime update check vs mtime 2019-12-02 15:15:35 -06:00
ioctl.c
Kconfig
link.c
Makefile
misc.c CIFS: Properly process SMB3 lease breaks 2019-11-25 01:17:12 -06:00
netmisc.c fs: cifs: mute -Wunused-const-variable message 2019-10-06 22:04:35 -05:00
nterr.c
nterr.h
ntlmssp.h
readdir.c cifs: Optimize readdir on reparse points 2019-12-23 09:04:44 -06:00
rfc1002pdu.h
sess.c cifs: fix possible uninitialized access and race on iface_list 2019-12-04 11:51:18 -06:00
smb1ops.c CIFS: Properly process SMB3 lease breaks 2019-11-25 01:17:12 -06:00
smb2file.c cifs: Adjust indentation in smb2_open_file 2019-12-23 09:04:44 -06:00
smb2glob.h
smb2inode.c SMB3: Fix crash in SMB2_open_init due to uninitialized field in compounding path 2019-12-13 00:49:38 -06:00
smb2maperror.c
smb2misc.c CIFS: Properly process SMB3 lease breaks 2019-11-25 01:17:12 -06:00
smb2ops.c CIFS: Close cached root handle only if it has a lease 2019-12-13 00:49:57 -06:00
smb2pdu.c CIFS: Close cached root handle only if it has a lease 2019-12-13 00:49:57 -06:00
smb2pdu.h smb3: fix mode passed in on create for modetosid mount option 2019-12-06 14:15:52 -06:00
smb2proto.h CIFS: Close cached root handle only if it has a lease 2019-12-13 00:49:57 -06:00
smb2status.h
smb2transport.c cifs: Always update signing key of first channel 2019-11-25 09:59:28 -06:00
smbdirect.c cifs: smbd: Only queue work for error recovery on memory registration 2019-11-25 01:16:30 -06:00
smbdirect.h
smbencrypt.c
smberr.h
smbfsctl.h
trace.c
trace.h
transport.c cifs: try opening channels after mounting 2019-11-25 01:16:30 -06:00
winucase.c
xattr.c