]> 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:28:30 +0000 (15:28 +0200)
commitb9e741ac2b7cad5a43035ff7a46c56cc243e4866
treec5806a080c2c49fae39b08388647eb8c874f1eae
parentdb5f1f1fb8c18cbc2589343f922242591afe1e69
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