mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
cifs: do not duplicate fscache cookie for secondary channels
We allocate index cookies for each connection from the client. However, we don't need this index for each channel in case of multichannel. So making sure that we avoid creating duplicate cookies by instantiating only for primary channel. Signed-off-by: Shyam Prasad N <sprasad@microsoft.com> Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
0f2b305af9
commit
46bb1b9484
@ -1397,7 +1397,10 @@ cifs_put_tcp_session(struct TCP_Server_Info *server, int from_reconnect)
|
||||
spin_unlock(&GlobalMid_Lock);
|
||||
|
||||
cifs_crypto_secmech_release(server);
|
||||
cifs_fscache_release_client_cookie(server);
|
||||
|
||||
/* fscache server cookies are based on primary channel only */
|
||||
if (!CIFS_SERVER_IS_CHAN(server))
|
||||
cifs_fscache_release_client_cookie(server);
|
||||
|
||||
kfree(server->session_key.response);
|
||||
server->session_key.response = NULL;
|
||||
@ -1553,7 +1556,9 @@ smbd_connected:
|
||||
list_add(&tcp_ses->tcp_ses_list, &cifs_tcp_ses_list);
|
||||
spin_unlock(&cifs_tcp_ses_lock);
|
||||
|
||||
cifs_fscache_get_client_cookie(tcp_ses);
|
||||
/* fscache server cookies are based on primary channel only */
|
||||
if (!CIFS_SERVER_IS_CHAN(tcp_ses))
|
||||
cifs_fscache_get_client_cookie(tcp_ses);
|
||||
|
||||
/* queue echo request delayed work */
|
||||
queue_delayed_work(cifsiod_wq, &tcp_ses->echo, tcp_ses->echo_interval);
|
||||
|
Loading…
Reference in New Issue
Block a user