diff options
author | Shyam Prasad N <sprasad@microsoft.com> | 2023-03-16 11:45:12 +0100 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2023-03-17 19:22:22 +0100 |
commit | 2f0e4f0342201fe2228fcc2301cc2b42ae04b8e3 (patch) | |
tree | ff9f3007acd94a8ea7da0e2636ed44f0e3c6c98e /fs/cifs/connect.c | |
parent | Merge tag '6.3-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 (diff) | |
download | linux-2f0e4f0342201fe2228fcc2301cc2b42ae04b8e3.tar.xz linux-2f0e4f0342201fe2228fcc2301cc2b42ae04b8e3.zip |
cifs: check only tcon status on tcon related functions
We had a couple of checks for session in cifs_tree_connect
and cifs_mark_open_files_invalid, which were unnecessary.
And that was done with ses_lock. Changed that to tc_lock too.
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Reviewed-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 0eceddde7140..49b37594e991 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -4036,9 +4036,13 @@ 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->ses->ses_status != SES_GOOD || - (tcon->status != TID_NEW && - tcon->status != TID_NEED_TCON)) { + if (tcon->status != TID_NEW && + tcon->status != TID_NEED_TCON) { + spin_unlock(&tcon->tc_lock); + return -EHOSTDOWN; + } + + if (tcon->status == TID_GOOD) { spin_unlock(&tcon->tc_lock); return 0; } |