Re: [PATCH 2/9] smb: client: allow both 'lease' and 'nolease' mount options
Meetakshi Setiya <[email protected]> Mon, 13 Apr 2026 06:30:59 -0700
| Newsgroups | gmane.linux.kernel,gmane.linux.kernel.cifs,gmane.network.samba.internals |
|---|---|
| Message-ID | <CAFTVevUOL5wjLjs2aVXP_0Wn627R=46NcKFWxRfAoN6bwuHmBQ@mail.gmail.com> |
Reviewed-by: Meetakshi Setiya <[email protected]> On Thu, Apr 9, 2026 at 3:07 AM <[email protected]> wrote: > > From: Rajasi Mandal <[email protected]> > > 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: Rajasi Mandal <[email protected]> > --- > fs/smb/client/fs_context.c | 6 +++--- > fs/smb/client/fs_context.h | 2 +- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/smb/client/fs_context.c b/fs/smb/client/fs_context.c > index 0f6c1eb8e274..e1bf7bad5be6 100644 > --- a/fs/smb/client/fs_context.c > +++ b/fs/smb/client/fs_context.c > @@ -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), > @@ -1572,8 +1572,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; > diff --git a/fs/smb/client/fs_context.h b/fs/smb/client/fs_context.h > index 0b64fcb5d302..a80a5caff23c 100644 > --- a/fs/smb/client/fs_context.h > +++ b/fs/smb/client/fs_context.h > @@ -102,7 +102,7 @@ enum cifs_param { > Opt_forcegid, > Opt_noblocksend, > Opt_noautotune, > - Opt_nolease, > + Opt_lease, > Opt_nosparse, > Opt_hard, > Opt_soft, > -- > 2.43.0 > >