Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 03eca704 authored by Pavel Shilovsky's avatar Pavel Shilovsky Committed by Steve French
Browse files

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: default avatarJeff Layton <jlayton@redhat.com>
Signed-off-by: default avatarPavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: default avatarSteve French <smfrench@gmail.com>
parent 081c0414
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
	}