]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
smb: client: stop revalidating reparse points unnecessarily
authorPaulo Alcantara <pc@manguebit.com>
Sat, 6 Jan 2024 23:05:17 +0000 (20:05 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Apr 2024 13:11:22 +0000 (15:11 +0200)
commitd6cad2b5af4a747ad14000f4fa945c8cc91d8917
treec9c1237dd19d55affaf8662c9141204a50ad2df6
parent0a6ac88b91a4b239e77a65daa35c6325dbff9278
smb: client: stop revalidating reparse points unnecessarily

[ Upstream commit 6d039984c15d1ea1ca080176df6dfab443e44585 ]

Query dir responses don't provide enough information on reparse points
such as major/minor numbers and symlink targets other than reparse
tags, however we don't need to unconditionally revalidate them only
because they are reparse points.  Instead, revalidate them only when
their ctime or reparse tag has changed.

For instance, Windows Server updates ctime of reparse points when
their data have changed.

Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Stable-dep-of: e4b61f3b1c67 ("cifs: prevent updating file size from server if we have a read/write lease")
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/client/cifsglob.h
fs/smb/client/inode.c
fs/smb/client/readdir.c