diff options
| author | Paulo Alcantara (SUSE) <[email protected]> | 2019-12-18 21:11:37 +0000 |
|---|---|---|
| committer | Steve French <[email protected]> | 2019-12-23 15:04:44 +0000 |
| commit | 046aca3c25fd28da591f59a2dc1a01848e81e0b2 (patch) | |
| tree | 88c92721b67434a5ae982956cb5f300a6bcd8297 /drivers/firmware/psci/psci.c | |
| parent | cifs: Adjust indentation in smb2_open_file (diff) | |
| download | kernel-046aca3c25fd28da591f59a2dc1a01848e81e0b2.tar.gz kernel-046aca3c25fd28da591f59a2dc1a01848e81e0b2.zip | |
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) <[email protected]>
Reviewed-by: Pavel Shilovsky <[email protected]>
Signed-off-by: Steve French <[email protected]>
Diffstat (limited to 'drivers/firmware/psci/psci.c')
0 files changed, 0 insertions, 0 deletions
