diff options
author | Shyam Prasad N <sprasad@microsoft.com> | 2022-01-17 07:15:02 +0000 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2022-01-19 11:10:58 -0600 |
commit | ba978e83255a759a4a07257a46ca6396a8b81787 (patch) | |
tree | 2fdef096adf237a622e37b52e19a42f19be92e0b /fs/cifs/sess.c | |
parent | 47de760655f329ce4b3d3e6276557220956d8c38 (diff) | |
download | lwn-ba978e83255a759a4a07257a46ca6396a8b81787.tar.gz lwn-ba978e83255a759a4a07257a46ca6396a8b81787.zip |
cifs: cifs_ses_mark_for_reconnect should also update reconnect bits
Recent restructuring of cifs_reconnect introduced a helper func
named cifs_ses_mark_for_reconnect, which updates the state of tcp
session for all the channels of a session for reconnect.
However, this does not update the session state and chans_need_reconnect
bitmask. This change fixes that.
Also, cifs_mark_tcp_sess_for_reconnect should mark set the bitmask
for all channels when the whole session is marked for reconnect.
Fixed that here too.
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/sess.c')
-rw-r--r-- | fs/cifs/sess.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c index 97fba1f28e4b..15373a377a36 100644 --- a/fs/cifs/sess.c +++ b/fs/cifs/sess.c @@ -366,21 +366,6 @@ out: return rc; } -/* Mark all session channels for reconnect */ -void cifs_ses_mark_for_reconnect(struct cifs_ses *ses) -{ - int i; - - spin_lock(&cifs_tcp_ses_lock); - spin_lock(&ses->chan_lock); - for (i = 0; i < ses->chan_count; i++) { - if (ses->chans[i].server->tcpStatus != CifsExiting) - ses->chans[i].server->tcpStatus = CifsNeedReconnect; - } - spin_unlock(&ses->chan_lock); - spin_unlock(&cifs_tcp_ses_lock); -} - static __u32 cifs_ssetup_hdr(struct cifs_ses *ses, struct TCP_Server_Info *server, SESSION_SETUP_ANDX *pSMB) |