summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorPavel Shilovsky <pshilov@microsoft.com>2019-10-29 16:51:19 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-10-01 13:14:29 +0200
commit18201a7938dc7dbd9ebee7e02d50357657643b22 (patch)
tree57a99f0b015cca84bb5c9a1832f91ca36a002992 /kernel
parent421ac08d3d5df1eb7a3a6481986714ca2131ff44 (diff)
CIFS: Properly process SMB3 lease breaks
[ Upstream commit 9bd4540836684013aaad6070a65d6fcdd9006625 ] Currenly we doesn't assume that a server may break a lease from RWH to RW which causes us setting a wrong lease state on a file and thus mistakenly flushing data and byte-range locks and purging cached data on the client. This leads to performance degradation because subsequent IOs go directly to the server. Fix this by propagating new lease state and epoch values to the oplock break handler through cifsFileInfo structure and removing the use of cifsInodeInfo flags for that. It allows to avoid some races of several lease/oplock breaks using those flags in parallel. Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions