diff options
author | 2023-03-24 13:56:33 -0300 | |
---|---|---|
committer | 2023-03-24 14:37:12 -0500 | |
commit | be4fde79812f02914e350bde0bc4cfeae8429378 (patch) | |
tree | b594a846eaf0e5664c8f8286721620f6e3d895f7 /scripts/generate_rust_analyzer.py | |
parent | smb3: lower default deferred close timeout to address perf regression (diff) | |
download | wireguard-linux-be4fde79812f02914e350bde0bc4cfeae8429378.tar.xz wireguard-linux-be4fde79812f02914e350bde0bc4cfeae8429378.zip |
cifs: fix dentry lookups in directory handle cache
Get rid of any prefix paths in @path before lookup_positive_unlocked()
as it will call ->lookup() which already adds those prefix paths
through build_path_from_dentry().
This has caused a performance regression when mounting shares with a
prefix path where readdir(2) would end up retrying several times to
open bad directory names that contained duplicate prefix paths.
Fix this by skipping any prefix paths in @path before calling
lookup_positive_unlocked().
Fixes: e4029e072673 ("cifs: find and use the dentry for cached non-root directories also")
Cc: stable@vger.kernel.org # 6.1+
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions