]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
cifs: Optimize CIFSFindFirst() response when not searching
authorPali Rohár <pali@kernel.org>
Mon, 30 Dec 2024 19:55:53 +0000 (20:55 +0100)
committerSteve French <stfrench@microsoft.com>
Sun, 27 Jul 2025 21:59:59 +0000 (16:59 -0500)
When not searching for child entries with msearch wildcard pattern then ask
server just for one output entry. There is no need to ask for more entries
as we are interested only for one search result, as we are doing query on
path.

CIFSFindFirst() with msearch=false is called by the cifs_query_path_info()
function.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cifssmb.c

index 3b6bc53ee1c4d68ff84951003df43644052e5c06..9e337ee10c8a8cbc623790cd3597d21ec4625168 100644 (file)
@@ -4067,7 +4067,7 @@ findFirstRetry:
        pSMB->SearchAttributes =
            cpu_to_le16(ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM |
                        ATTR_DIRECTORY);
-       pSMB->SearchCount = cpu_to_le16(CIFSMaxBufSize/sizeof(FILE_UNIX_INFO));
+       pSMB->SearchCount = cpu_to_le16(msearch ? CIFSMaxBufSize/sizeof(FILE_UNIX_INFO) : 1);
        pSMB->SearchFlags = cpu_to_le16(search_flags);
        pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level);