CIFS: Fix possible data coherency problem after oplock break to None
by using cifs_invalidate_mapping rather than invalidate_remote_inode in cifs_oplock_break - this invalidates all inode pages and resets fscache cookies. Reviewed-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru> Signed-off-by: Steve French <smfrench@gmail.com>
This commit is contained in:
Родитель
081c0414dc
Коммит
03eca704cf
|
@ -3554,7 +3554,7 @@ void cifs_oplock_break(struct work_struct *work)
|
|||
if (cinode->clientCanCacheRead == 0) {
|
||||
rc = filemap_fdatawait(inode->i_mapping);
|
||||
mapping_set_error(inode->i_mapping, rc);
|
||||
invalidate_remote_inode(inode);
|
||||
cifs_invalidate_mapping(inode);
|
||||
}
|
||||
cFYI(1, "Oplock flush inode %p rc %d", inode, rc);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче