[CIFS] Fix to problem with getattr caused by invalidate simplification patch
Fix to earlier "Simplify invalidate part (try #6)" patch That patch caused problems with connectathon test 5. Reviewed-by: Jeff Layton <jlayton@samba.org> Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
ceec1e0fae
commit
156ecb2d8b
2 changed files with 8 additions and 4 deletions
|
@ -617,8 +617,10 @@ static loff_t cifs_llseek(struct file *file, loff_t offset, int origin)
|
|||
if (!CIFS_I(inode)->clientCanCacheRead && inode->i_mapping &&
|
||||
inode->i_mapping->nrpages != 0) {
|
||||
rc = filemap_fdatawait(inode->i_mapping);
|
||||
mapping_set_error(inode->i_mapping, rc);
|
||||
return rc;
|
||||
if (rc) {
|
||||
mapping_set_error(inode->i_mapping, rc);
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Some applications poll for the file length in this strange
|
||||
|
|
|
@ -1805,8 +1805,10 @@ int cifs_getattr(struct vfsmount *mnt, struct dentry *dentry,
|
|||
if (!CIFS_I(inode)->clientCanCacheRead && inode->i_mapping &&
|
||||
inode->i_mapping->nrpages != 0) {
|
||||
rc = filemap_fdatawait(inode->i_mapping);
|
||||
mapping_set_error(inode->i_mapping, rc);
|
||||
return rc;
|
||||
if (rc) {
|
||||
mapping_set_error(inode->i_mapping, rc);
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
|
||||
rc = cifs_revalidate_dentry_attr(dentry);
|
||||
|
|
Loading…
Reference in a new issue