mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
cifs: handle "nolease" option for vers=1.0
The "nolease" mount option is only supported for SMB2+ mounts. Fail with appropriate error message if vers=1.0 option is passed. Signed-off-by: Kenneth D'souza <kdsouza@redhat.com> Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
3d77e6a880
commit
8fd6e1d694
1 changed files with 10 additions and 1 deletions
|
@ -3580,6 +3580,16 @@ cifs_get_tcon(struct cifs_ses *ses, struct smb_vol *volume_info)
|
|||
cifs_dbg(VFS, "cache=singleclient requested on mount but NO_CACHING flag set on share\n");
|
||||
}
|
||||
|
||||
if (volume_info->no_lease) {
|
||||
if (ses->server->vals->protocol_id == 0) {
|
||||
cifs_dbg(VFS,
|
||||
"SMB2 or later required for nolease option\n");
|
||||
rc = -EOPNOTSUPP;
|
||||
goto out_fail;
|
||||
} else
|
||||
tcon->no_lease = volume_info->no_lease;
|
||||
}
|
||||
|
||||
/*
|
||||
* We can have only one retry value for a connection to a share so for
|
||||
* resources mounted more than once to the same server share the last
|
||||
|
@ -3589,7 +3599,6 @@ cifs_get_tcon(struct cifs_ses *ses, struct smb_vol *volume_info)
|
|||
tcon->nocase = volume_info->nocase;
|
||||
tcon->nohandlecache = volume_info->nohandlecache;
|
||||
tcon->local_lease = volume_info->local_lease;
|
||||
tcon->no_lease = volume_info->no_lease;
|
||||
INIT_LIST_HEAD(&tcon->pending_opens);
|
||||
|
||||
spin_lock(&cifs_tcp_ses_lock);
|
||||
|
|
Loading…
Reference in a new issue