Lines Matching refs:sess
19 ksmbd_tree_conn_connect(struct ksmbd_conn *conn, struct ksmbd_session *sess,
39 tree_conn->id = ksmbd_acquire_tree_conn_id(sess);
46 resp = ksmbd_ipc_tree_connect_request(sess,
74 tree_conn->user = sess->user;
81 ret = xa_err(xa_store(&sess->tree_conns, tree_conn->id, tree_conn,
92 ksmbd_release_tree_conn_id(sess, tree_conn->id);
111 int ksmbd_tree_conn_disconnect(struct ksmbd_session *sess,
116 write_lock(&sess->tree_conns_lock);
117 xa_erase(&sess->tree_conns, tree_conn->id);
118 write_unlock(&sess->tree_conns_lock);
124 ret = ksmbd_ipc_tree_disconnect_request(sess->id, tree_conn->id);
125 ksmbd_release_tree_conn_id(sess, tree_conn->id);
131 struct ksmbd_tree_connect *ksmbd_tree_conn_lookup(struct ksmbd_session *sess,
136 read_lock(&sess->tree_conns_lock);
137 tcon = xa_load(&sess->tree_conns, id);
144 read_unlock(&sess->tree_conns_lock);
149 int ksmbd_tree_conn_session_logoff(struct ksmbd_session *sess)
155 if (!sess)
158 xa_for_each(&sess->tree_conns, id, tc) {
159 write_lock(&sess->tree_conns_lock);
161 write_unlock(&sess->tree_conns_lock);
166 write_unlock(&sess->tree_conns_lock);
168 ret |= ksmbd_tree_conn_disconnect(sess, tc);
170 xa_destroy(&sess->tree_conns);