ksmbd: no need to wait for binded connection termination at logoff
authorNamjae Jeon <linkinjeon@kernel.org>
Sun, 29 Oct 2023 11:58:28 +0000 (20:58 +0900)
committerSteve French <stfrench@microsoft.com>
Tue, 31 Oct 2023 02:58:12 +0000 (21:58 -0500)
The connection could be binded to the existing session for Multichannel.
session will be destroyed when binded connections are released.
So no need to wait for that's connection at logoff.

Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/connection.c

index 4b38c3a..b6fa1e2 100644 (file)
@@ -167,23 +167,7 @@ void ksmbd_all_conn_set_status(u64 sess_id, u32 status)
 
 void ksmbd_conn_wait_idle(struct ksmbd_conn *conn, u64 sess_id)
 {
-       struct ksmbd_conn *bind_conn;
-
        wait_event(conn->req_running_q, atomic_read(&conn->req_running) < 2);
-
-       down_read(&conn_list_lock);
-       list_for_each_entry(bind_conn, &conn_list, conns_list) {
-               if (bind_conn == conn)
-                       continue;
-
-               if ((bind_conn->binding || xa_load(&bind_conn->sessions, sess_id)) &&
-                   !ksmbd_conn_releasing(bind_conn) &&
-                   atomic_read(&bind_conn->req_running)) {
-                       wait_event(bind_conn->req_running_q,
-                               atomic_read(&bind_conn->req_running) == 0);
-               }
-       }
-       up_read(&conn_list_lock);
 }
 
 int ksmbd_conn_write(struct ksmbd_work *work)