summaryrefslogtreecommitdiff
path: root/fs/cifs/sess.c
diff options
context:
space:
mode:
authorPaulo Alcantara <pc@cjr.nz>2021-11-16 13:38:58 -0300
committerSteve French <stfrench@microsoft.com>2021-11-16 10:57:08 -0600
commit8ae87bbeb5d1bfd4ddf2f73f72be51d02d6be2eb (patch)
tree85dc294eabd65bf74decdc3e214d6697e7e6b933 /fs/cifs/sess.c
parent446e21482e8c10b96d540862c5f6a37009436f00 (diff)
downloadlwn-8ae87bbeb5d1bfd4ddf2f73f72be51d02d6be2eb.tar.gz
lwn-8ae87bbeb5d1bfd4ddf2f73f72be51d02d6be2eb.zip
cifs: introduce cifs_ses_mark_for_reconnect() helper
Use new cifs_ses_mark_for_reconnect() helper to mark all session channels for reconnect instead of duplicating it in different places. Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/sess.c')
-rw-r--r--fs/cifs/sess.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c
index 7db8b22edac9..8ad2993785af 100644
--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -318,6 +318,19 @@ out:
return rc;
}
+/* Mark all session channels for reconnect */
+void cifs_ses_mark_for_reconnect(struct cifs_ses *ses)
+{
+ int i;
+
+ for (i = 0; i < ses->chan_count; i++) {
+ spin_lock(&GlobalMid_Lock);
+ if (ses->chans[i].server->tcpStatus != CifsExiting)
+ ses->chans[i].server->tcpStatus = CifsNeedReconnect;
+ spin_unlock(&GlobalMid_Lock);
+ }
+}
+
static __u32 cifs_ssetup_hdr(struct cifs_ses *ses, SESSION_SETUP_ANDX *pSMB)
{
__u32 capabilities = 0;