diff options
author | Paulo Alcantara <pc@manguebit.com> | 2024-01-06 20:05:17 -0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2024-01-07 15:46:06 -0600 |
commit | 6d039984c15d1ea1ca080176df6dfab443e44585 (patch) | |
tree | f8c12ce59bfa288294663eb0a1b4d665992d5608 /fs/smb/client/cifsglob.h | |
parent | 6ebfede8d57a615dcbdec7e490faed585153f7f1 (diff) | |
download | lwn-6d039984c15d1ea1ca080176df6dfab443e44585.tar.gz lwn-6d039984c15d1ea1ca080176df6dfab443e44585.zip |
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) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/smb/client/cifsglob.h')
-rw-r--r-- | fs/smb/client/cifsglob.h | 1 |
1 files changed, 1 insertions, 0 deletions
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 * |