cifs: do not reset chan_max if multichannel is not supported at mount
authorShyam Prasad N <sprasad@microsoft.com>
Mon, 30 Oct 2023 11:00:10 +0000 (11:00 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:20:09 +0000 (17:20 +0000)
commit 6e5e64c9477d58e73cb1a0e83eacad1f8df247cf upstream.

If the mount command has specified multichannel as a mount option,
but multichannel is found to be unsupported by the server at the time
of mount, we set chan_max to 1. Which means that the user needs to
remount the share if the server starts supporting multichannel.

This change removes this reset. What it means is that if the user
specified multichannel or max_channels during mount, and at this
time, multichannel is not supported, but the server starts supporting
it at a later point, the client will be capable of scaling out the
number of channels.

Cc: stable@vger.kernel.org
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/smb/client/sess.c

index 79f26c5..c899b05 100644 (file)
@@ -186,7 +186,6 @@ int cifs_try_adding_channels(struct cifs_sb_info *cifs_sb, struct cifs_ses *ses)
        }
 
        if (!(server->capabilities & SMB2_GLOBAL_CAP_MULTI_CHANNEL)) {
-               ses->chan_max = 1;
                spin_unlock(&ses->chan_lock);
                cifs_server_dbg(VFS, "no multichannel support\n");
                return 0;