android_kernel_samsung_a7y1.../fs/cifs
Pavel Shilovsky 6e4b2c1a29 CIFS: Fix oplock handling for SMB 2.1+ protocols
commit a016e2794fc3a245a91946038dd8f34d65e53cc3 upstream.

There may be situations when a server negotiates SMB 2.1
protocol version or higher but responds to a CREATE request
with an oplock rather than a lease.

Currently the client doesn't handle such a case correctly:
when another CREATE comes in the server sends an oplock
break to the initial CREATE and the client doesn't send
an ack back due to a wrong caching level being set (READ
instead of RWH). Missing an oplock break ack makes the
server wait until the break times out which dramatically
increases the latency of the second CREATE.

Fix this by properly detecting oplocks when using SMB 2.1
protocol version and higher.

Cc: <stable@vger.kernel.org>
Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-04-07 07:41:09 +02:00
..
asn1.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cache.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifs_debug.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifs_debug.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifs_dfs_ref.c cifs: use correct format characters 2020-04-06 14:50:13 +02:00
cifs_fs_sb.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifs_ioctl.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifs_spnego.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifs_spnego.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifs_unicode.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifs_unicode.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifs_uniupr.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifsacl.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifsacl.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifsencrypt.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifsfs.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifsfs.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifsglob.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifspdu.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifsproto.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cifssmb.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
connect.c cifs: Use kzfree() to zero out the password 2020-04-06 21:36:55 +02:00
dir.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
dns_resolve.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
dns_resolve.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
export.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
file.c CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM 2020-04-06 18:21:41 +02:00
fscache.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
fscache.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
inode.c cifs: do not attempt cifs operation on smb2+ rename error 2020-04-06 16:38:37 +02:00
ioctl.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
Kconfig A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
link.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
Makefile A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
misc.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
netmisc.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
nterr.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
nterr.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ntlmssp.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
readdir.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
rfc1002pdu.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
sess.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smb1ops.c cifs: use correct format characters 2020-04-06 14:50:13 +02:00
smb2file.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smb2glob.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smb2inode.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smb2maperror.c SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write 2020-04-06 19:16:56 +02:00
smb2misc.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smb2ops.c CIFS: Fix oplock handling for SMB 2.1+ protocols 2020-04-07 07:41:09 +02:00
smb2pdu.c smb3: send CAP_DFS capability during session setup 2020-04-06 20:39:43 +02:00
smb2pdu.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smb2proto.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smb2status.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smb2transport.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smbencrypt.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smberr.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
smbfsctl.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
transport.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
winucase.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
xattr.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30