diff options
author | Shyam Prasad N <sprasad@microsoft.com> | 2024-02-06 18:00:46 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-03-01 15:34:56 +0300 |
commit | cd743cfead99fbfa176c9b317706da22fb846542 (patch) | |
tree | 409cb4903ef7db1925f6d27cb00c4158634983b0 /fs/smb/client/connect.c | |
parent | 8946924ff324853df6b7c525a7467d964dfd11c3 (diff) | |
download | linux-cd743cfead99fbfa176c9b317706da22fb846542.tar.xz |
cifs: change tcon status when need_reconnect is set on it
[ Upstream commit c6e02eefd6ace3da3369c764f15429f5647056af ]
When a tcon is marked for need_reconnect, the intention
is to have it reconnected.
This change adjusts tcon->status in cifs_tree_connect
when need_reconnect is set. Also, this change has a minor
correction in resetting need_reconnect on success. It makes
sure that it is done with tc_lock held.
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs/smb/client/connect.c')
-rw-r--r-- | fs/smb/client/connect.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/smb/client/connect.c b/fs/smb/client/connect.c index 19440255944b..c19eae07fa69 100644 --- a/fs/smb/client/connect.c +++ b/fs/smb/client/connect.c @@ -4226,6 +4226,11 @@ int cifs_tree_connect(const unsigned int xid, struct cifs_tcon *tcon, const stru /* only send once per connect */ spin_lock(&tcon->tc_lock); + + /* if tcon is marked for needing reconnect, update state */ + if (tcon->need_reconnect) + tcon->status = TID_NEED_TCON; + if (tcon->status == TID_GOOD) { spin_unlock(&tcon->tc_lock); return 0; |