summaryrefslogtreecommitdiff
path: root/net/xfrm/xfrm_output.c
diff options
context:
space:
mode:
authorPaulo Alcantara (SUSE) <pc@cjr.nz>2019-12-19 00:11:37 +0300
committerSteve French <stfrench@microsoft.com>2019-12-23 18:04:44 +0300
commit046aca3c25fd28da591f59a2dc1a01848e81e0b2 (patch)
tree88c92721b67434a5ae982956cb5f300a6bcd8297 /net/xfrm/xfrm_output.c
parent7935799e041ae10d380d04ea23868240f082bd11 (diff)
downloadlinux-046aca3c25fd28da591f59a2dc1a01848e81e0b2.tar.xz
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>
Diffstat (limited to 'net/xfrm/xfrm_output.c')
0 files changed, 0 insertions, 0 deletions