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
..
2019-09-27 15:10:34 -07:00
2019-12-17 13:27:02 -08:00
2019-09-19 09:42:37 -07:00
2019-12-09 10:36:44 -08:00
2019-07-12 17:37:53 -07:00
2019-12-11 12:25:32 -08:00
2019-11-11 09:21:59 -05:00
\n
2019-11-30 11:16:07 -08:00
2019-12-05 13:20:11 -08:00
2019-09-19 09:42:37 -07:00
2019-09-19 09:42:37 -07:00
2019-11-18 11:04:32 +01:00
2019-12-14 11:13:54 -08:00
2019-09-19 09:42:37 -07:00
2019-12-09 10:36:44 -08:00
2019-12-01 14:00:59 -08:00
2019-12-02 14:46:22 -08:00
2019-11-30 10:44:49 -08:00
2019-08-07 21:51:47 -04:00
2019-12-12 19:00:36 +01:00
2019-10-25 14:08:24 -04:00
2019-12-02 14:46:22 -08:00
2019-10-14 15:04:01 -07:00
2019-09-27 17:00:27 -07:00