Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag '5.13-rc-smb3-part3' of git://git.samba.org/sfrench/cifs-2.6

Pull cifs fixes from Steve French:
"Three small SMB3 chmultichannel related changesets (also for stable)
from the SMB3 test event this week.

The other fixes are still in review/testing"

* tag '5.13-rc-smb3-part3' of git://git.samba.org/sfrench/cifs-2.6:
smb3: if max_channels set to more than one channel request multichannel
smb3: do not attempt multichannel to server which does not support it
smb3: when mounting with multichannel include it in requested capabilities

+14
+3
fs/cifs/fs_context.c
··· 1021 1021 goto cifs_parse_mount_err; 1022 1022 } 1023 1023 ctx->max_channels = result.uint_32; 1024 + /* If more than one channel requested ... they want multichan */ 1025 + if (result.uint_32 > 1) 1026 + ctx->multichannel = true; 1024 1027 break; 1025 1028 case Opt_handletimeout: 1026 1029 ctx->handle_timeout = result.uint_32;
+6
fs/cifs/sess.c
··· 97 97 return 0; 98 98 } 99 99 100 + if (!(ses->server->capabilities & SMB2_GLOBAL_CAP_MULTI_CHANNEL)) { 101 + cifs_dbg(VFS, "server %s does not support multichannel\n", ses->server->hostname); 102 + ses->chan_max = 1; 103 + return 0; 104 + } 105 + 100 106 /* 101 107 * Make a copy of the iface list at the time and use that 102 108 * instead so as to not hold the iface spinlock for opening
+5
fs/cifs/smb2pdu.c
··· 841 841 req->SecurityMode = 0; 842 842 843 843 req->Capabilities = cpu_to_le32(server->vals->req_capabilities); 844 + if (ses->chan_max > 1) 845 + req->Capabilities |= cpu_to_le32(SMB2_GLOBAL_CAP_MULTI_CHANNEL); 844 846 845 847 /* ClientGUID must be zero for SMB2.02 dialect */ 846 848 if (server->vals->protocol_id == SMB20_PROT_ID) ··· 1034 1032 1035 1033 pneg_inbuf->Capabilities = 1036 1034 cpu_to_le32(server->vals->req_capabilities); 1035 + if (tcon->ses->chan_max > 1) 1036 + pneg_inbuf->Capabilities |= cpu_to_le32(SMB2_GLOBAL_CAP_MULTI_CHANNEL); 1037 + 1037 1038 memcpy(pneg_inbuf->Guid, server->client_guid, 1038 1039 SMB2_CLIENT_GUID_SIZE); 1039 1040