diff options
author | Steve French <stfrench@microsoft.com> | 2021-02-24 12:12:53 -0600 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2021-02-25 11:47:49 -0600 |
commit | 5780464614f6abe6026f00cf5a0777aa453ba450 (patch) | |
tree | 9b5b9d21d8b36bf14043b82dba274c7aed8db477 /fs/cifs/fs_context.h | |
parent | ddaf6d4a9253939036fa70d71534e482ee7413f6 (diff) | |
download | lwn-5780464614f6abe6026f00cf5a0777aa453ba450.tar.gz lwn-5780464614f6abe6026f00cf5a0777aa453ba450.zip |
cifs: Add new parameter "acregmax" for distinct file and directory metadata timeout
The new optional mount parameter "acregmax" allows a different
timeout for file metadata ("acdirmax" now allows controlling timeout
for directory metadata). Setting "actimeo" still works as before,
and changes timeout for both files and directories, but
specifying "acregmax" or "acdirmax" allows overriding the
default more granularly which can be a big performance benefit
on some workloads. "acregmax" is already used by NFS as a mount
parameter (albeit with a larger default and thus looser caching).
Suggested-by: Tom Talpey <tom@talpey.com>
Reviewed-By: Tom Talpey <tom@talpey.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/fs_context.h')
-rw-r--r-- | fs/cifs/fs_context.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/cifs/fs_context.h b/fs/cifs/fs_context.h index 472372fec4e9..87dd1f7168f2 100644 --- a/fs/cifs/fs_context.h +++ b/fs/cifs/fs_context.h @@ -119,6 +119,7 @@ enum cifs_param { Opt_wsize, Opt_actimeo, Opt_acdirmax, + Opt_acregmax, Opt_echo_interval, Opt_max_credits, Opt_snapshot, @@ -233,8 +234,9 @@ struct smb3_fs_context { unsigned int wsize; unsigned int min_offload; bool sockopt_tcp_nodelay:1; - unsigned long actimeo; /* attribute cache timeout for files (jiffies) */ - unsigned long acdirmax; /* attribute cache timeout for directories (jiffies) */ + /* attribute cache timemout for files and directories in jiffies */ + unsigned long acregmax; + unsigned long acdirmax; struct smb_version_operations *ops; struct smb_version_values *vals; char *prepath; |