From: Steve French Date: Sat, 8 May 2021 00:33:51 +0000 (-0500) Subject: smb3: if max_channels set to more than one channel request multichannel X-Git-Tag: v5.11.20~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=398405a688ce54c1ff052af72ded14e02469b673;p=thirdparty%2Fkernel%2Fstable.git smb3: if max_channels set to more than one channel request multichannel commit c1f8a398b6d661b594556a91224b096d92293061 upstream. Mounting with "multichannel" is obviously implied if user requested more than one channel on mount (ie mount parm max_channels>1). Currently both have to be specified. Fix that so that if max_channels is greater than 1 on mount, enable multichannel rather than silently falling back to non-multichannel. Signed-off-by: Steve French Reviewed-By: Tom Talpey Cc: # v5.11+ Reviewed-by: Shyam Prasad N Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/cifs/fs_context.c b/fs/cifs/fs_context.c index 73f14a13d37b2..8cb24e6836a04 100644 --- a/fs/cifs/fs_context.c +++ b/fs/cifs/fs_context.c @@ -978,6 +978,9 @@ static int smb3_fs_context_parse_param(struct fs_context *fc, goto cifs_parse_mount_err; } ctx->max_channels = result.uint_32; + /* If more than one channel requested ... they want multichan */ + if (result.uint_32 > 1) + ctx->multichannel = true; break; case Opt_handletimeout: ctx->handle_timeout = result.uint_32;