smb: client: don't clobber ->i_rdev from cached reparse points
Don't clobber ->i_rdev from valid reparse inodes over readdir(2) as it can't be provided by query dir responses. Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
f83709b9e0
commit
66c9314b61
@ -133,14 +133,14 @@ retry:
|
||||
* Query dir responses don't provide enough
|
||||
* information about reparse points other than
|
||||
* their reparse tags. Save an invalidation by
|
||||
* not clobbering the existing mode, size and
|
||||
* symlink target (if any) when reparse tag and
|
||||
* ctime haven't changed.
|
||||
* not clobbering some existing attributes when
|
||||
* reparse tag and ctime haven't changed.
|
||||
*/
|
||||
rc = 0;
|
||||
if (fattr->cf_cifsattrs & ATTR_REPARSE) {
|
||||
if (likely(reparse_inode_match(inode, fattr))) {
|
||||
fattr->cf_mode = inode->i_mode;
|
||||
fattr->cf_rdev = inode->i_rdev;
|
||||
fattr->cf_eof = CIFS_I(inode)->server_eof;
|
||||
fattr->cf_symlink_target = NULL;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user