SMB3: Allow persistent handle timeout to be configurable on mount
authorSteve French <stfrench@microsoft.com>
Fri, 29 Mar 2019 21:31:07 +0000 (16:31 -0500)
committerSteve French <stfrench@microsoft.com>
Mon, 1 Apr 2019 19:33:36 +0000 (14:33 -0500)
commitca567eb2b3f014d5be0f44c6f68b01a522f15ca4
treeead8cc450e5615d8e3bb8c4930390c16b3ae7967
parent153322f7536a181e4d1b288aa6f01c0ce65f5c7c
SMB3: Allow persistent handle timeout to be configurable on mount

Reconnecting after server or network failure can be improved
(to maintain availability and protect data integrity) by allowing
the client to choose the default persistent (or resilient)
handle timeout in some use cases.  Today we default to 0 which lets
the server pick the default timeout (usually 120 seconds) but this
can be problematic for some workloads.  Add the new mount parameter
to cifs.ko for SMB3 mounts "handletimeout" which enables the user
to override the default handle timeout for persistent (mount
option "persistenthandles") or resilient handles (mount option
"resilienthandles").  Maximum allowed is 16 minutes (960000 ms).
Units for the timeout are expressed in milliseconds. See
section 2.2.14.2.12 and 2.2.31.3 of the MS-SMB2 protocol
specification for more information.

Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
CC: Stable <stable@vger.kernel.org>
fs/cifs/cifsfs.c
fs/cifs/cifsglob.h
fs/cifs/connect.c
fs/cifs/smb2file.c
fs/cifs/smb2pdu.c