From 6d039984c15d1ea1ca080176df6dfab443e44585 Mon Sep 17 00:00:00 2001 From: Paulo Alcantara Date: Sat, 6 Jan 2024 20:05:17 -0300 Subject: smb: client: stop revalidating reparse points unnecessarily 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) Signed-off-by: Steve French --- fs/smb/client/cifsglob.h | 1 + 1 file changed, 1 insertion(+) (limited to 'fs/smb/client/cifsglob.h') diff --git a/fs/smb/client/cifsglob.h b/fs/smb/client/cifsglob.h index f840756e0169..879d5ef8a66e 100644 --- a/fs/smb/client/cifsglob.h +++ b/fs/smb/client/cifsglob.h @@ -1565,6 +1565,7 @@ struct cifsInodeInfo { spinlock_t deferred_lock; /* protection on deferred list */ bool lease_granted; /* Flag to indicate whether lease or oplock is granted. */ char *symlink_target; + __u32 reparse_tag; }; static inline struct cifsInodeInfo * -- cgit v1.2.3