From: Pali Rohár Date: Mon, 30 Dec 2024 19:55:53 +0000 (+0100) Subject: cifs: Optimize CIFSFindFirst() response when not searching X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b62a206bfbf3e9c52abc28253bf3baedc8d99880;p=thirdparty%2Fkernel%2Flinux.git cifs: Optimize CIFSFindFirst() response when not searching 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 Signed-off-by: Steve French --- diff --git a/fs/smb/client/cifssmb.c b/fs/smb/client/cifssmb.c index 3b6bc53ee1c4d..9e337ee10c8a8 100644 --- a/fs/smb/client/cifssmb.c +++ b/fs/smb/client/cifssmb.c @@ -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);