smb3: fix snapshot mount option
authorSteve French <stfrench@microsoft.com>
Sat, 12 Feb 2022 07:54:14 +0000 (01:54 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Feb 2022 11:03:14 +0000 (12:03 +0100)
commit 9405b5f8b20c2bfa6523a555279a0379640dc136 upstream.

The conversion to the new API broke the snapshot mount option
due to 32 vs. 64 bit type mismatch

Fixes: 24e0a1eff9e2 ("cifs: switch to new mount api")
Cc: stable@vger.kernel.org # 5.11+
Reported-by: <ruckajan10@gmail.com>
Acked-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/cifs/fs_context.c

index 0a2542286552f55d195a38758c337d67dd77de25..3b8ed36b37113f94a170df7f5a114ff0738ede84 100644 (file)
@@ -146,7 +146,7 @@ const struct fs_parameter_spec smb3_fs_parameters[] = {
        fsparam_u32("echo_interval", Opt_echo_interval),
        fsparam_u32("max_credits", Opt_max_credits),
        fsparam_u32("handletimeout", Opt_handletimeout),
-       fsparam_u32("snapshot", Opt_snapshot),
+       fsparam_u64("snapshot", Opt_snapshot),
        fsparam_u32("max_channels", Opt_max_channels),
 
        /* Mount options which take string value */
@@ -1062,7 +1062,7 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
                ctx->echo_interval = result.uint_32;
                break;
        case Opt_snapshot:
-               ctx->snapshot_time = result.uint_32;
+               ctx->snapshot_time = result.uint_64;
                break;
        case Opt_max_credits:
                if (result.uint_32 < 20 || result.uint_32 > 60000) {