smb3: allow deferred close timeout to be configurable
authorSteve French <stfrench@microsoft.com>
Thu, 11 Aug 2022 05:53:00 +0000 (00:53 -0500)
committerSteve French <stfrench@microsoft.com>
Fri, 12 Aug 2022 01:03:04 +0000 (20:03 -0500)
commit5efdd9122eff772eae2feae9f0fc0ec02d4846a3
tree14aa11d0dc51b6f62f8487bbc30729f386b3f7ea
parentdcb45fd7f501f86481473bde14fa0a9069ad5cdc
smb3: allow deferred close timeout to be configurable

Deferred close can be a very useful feature for allowing
caching data for read, and for minimizing the number of
reopens needed for a file that is repeatedly opened and
close but there are workloads where its default (1 second,
similar to actimeo/acregmax) is much too small.

Allow the user to configure the amount of time we can
defer sending the final smb3 close when we have a
handle lease on the file (rather than forcing it to depend
on value of actimeo which is often unrelated, and less safe).

Adds new mount parameter "closetimeo=" which is the maximum
number of seconds we can wait before sending an SMB3
close when we have a handle lease for it.  Default value
also is set to slightly larger at 5 seconds (although some
other clients use larger default this should still help).

Suggested-by: Bharath SM <bharathsm@microsoft.com>
Reviewed-by: Bharath SM <bharathsm@microsoft.com>
Reviewed-by: Shyam Prasad N <sprasad@microsoft.com>
Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/cifsfs.c
fs/cifs/connect.c
fs/cifs/file.c
fs/cifs/fs_context.c
fs/cifs/fs_context.h