CIFS: Propagate min offload along with other parameters from primary to secondary channels.
In a multichannel setup, it was observed that a few fields were not being copied over to the secondary channels, which impacted performance in cases where these options were relevant but not properly synchronized. To address this, this patch introduces copying the following parameters from the primary channel to the secondary channels: - min_offload - compression.requested - dfs_conn - ignore_signature - leaf_fullpath - noblockcnt - retrans - sign By copying these parameters, we ensure consistency across channels and prevent performance degradation due to missing or outdated settings. Cc: stable@vger.kernel.org Signed-off-by: Aman <aman1@microsoft.com> Reviewed-by: Paulo Alcantara (Red Hat) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
@@ -1676,6 +1676,7 @@ cifs_get_tcp_session(struct smb3_fs_context *ctx,
|
||||
/* Grab netns reference for this server. */
|
||||
cifs_set_net_ns(tcp_ses, get_net(current->nsproxy->net_ns));
|
||||
|
||||
tcp_ses->sign = ctx->sign;
|
||||
tcp_ses->conn_id = atomic_inc_return(&tcpSesNextId);
|
||||
tcp_ses->noblockcnt = ctx->rootfs;
|
||||
tcp_ses->noblocksnd = ctx->noblocksnd || ctx->rootfs;
|
||||
|
||||
@@ -522,6 +522,13 @@ cifs_ses_add_channel(struct cifs_ses *ses,
|
||||
ctx->sockopt_tcp_nodelay = ses->server->tcp_nodelay;
|
||||
ctx->echo_interval = ses->server->echo_interval / HZ;
|
||||
ctx->max_credits = ses->server->max_credits;
|
||||
ctx->min_offload = ses->server->min_offload;
|
||||
ctx->compress = ses->server->compression.requested;
|
||||
ctx->dfs_conn = ses->server->dfs_conn;
|
||||
ctx->ignore_signature = ses->server->ignore_signature;
|
||||
ctx->leaf_fullpath = ses->server->leaf_fullpath;
|
||||
ctx->rootfs = ses->server->noblockcnt;
|
||||
ctx->retrans = ses->server->retrans;
|
||||
|
||||
/*
|
||||
* This will be used for encoding/decoding user/domain/pw
|
||||
|
||||
Reference in New Issue
Block a user