Commit 4248ed10 authored by Rajasi Mandal's avatar Rajasi Mandal Committed by Steve French
Browse files

smb: client: allow both 'lease' and 'nolease' mount options



Change the nolease mount option from fsparam_flag() to fsparam_flag_no()
so that both 'lease' and 'nolease' are accepted as valid mount options.

Previously, only 'nolease' was recognized. Passing 'lease' would fail
with an unknown parameter error (or be silently ignored with 'sloppy').

With this change:
  - 'nolease' disables lease requests (same behavior as before)
  - 'lease' explicitly enables lease requests

This also renames the enum value from Opt_nolease to Opt_lease and uses
result.negated to set ctx->no_lease, which is the standard pattern used
by other flag_no options in the cifs mount option parser.

Signed-off-by: default avatarRajasi Mandal <rajasimandal@microsoft.com>
Reviewed-by: default avatarMeetakshi Setiya <msetiya@microsoft.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent dc0325b0
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ const struct fs_parameter_spec smb3_fs_parameters[] = {
	fsparam_flag_no("forcegid", Opt_forcegid),
	fsparam_flag("noblocksend", Opt_noblocksend),
	fsparam_flag("noautotune", Opt_noautotune),
	fsparam_flag("nolease", Opt_nolease),
	fsparam_flag_no("lease", Opt_lease),
	fsparam_flag_no("hard", Opt_hard),
	fsparam_flag_no("soft", Opt_soft),
	fsparam_flag_no("perm", Opt_perm),
@@ -1340,8 +1340,8 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
	case Opt_noautotune:
		ctx->noautotune = 1;
		break;
	case Opt_nolease:
		ctx->no_lease = 1;
	case Opt_lease:
		ctx->no_lease = result.negated;
		break;
	case Opt_nosparse:
		ctx->no_sparse = 1;
+1 −1
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ enum cifs_param {
	Opt_forcegid,
	Opt_noblocksend,
	Opt_noautotune,
	Opt_nolease,
	Opt_lease,
	Opt_nosparse,
	Opt_hard,
	Opt_soft,