Lines Matching refs:tree_conn
25 struct ksmbd_tree_connect *tree_conn = NULL; in ksmbd_tree_conn_connect() local
33 tree_conn = kzalloc(sizeof(struct ksmbd_tree_connect), GFP_KERNEL); in ksmbd_tree_conn_connect()
34 if (!tree_conn) { in ksmbd_tree_conn_connect()
39 tree_conn->id = ksmbd_acquire_tree_conn_id(sess); in ksmbd_tree_conn_connect()
40 if (tree_conn->id < 0) { in ksmbd_tree_conn_connect()
48 tree_conn, in ksmbd_tree_conn_connect()
59 tree_conn->flags = resp->connection_flags; in ksmbd_tree_conn_connect()
60 if (test_tree_conn_flag(tree_conn, KSMBD_TREE_CONN_FLAG_UPDATE)) { in ksmbd_tree_conn_connect()
74 tree_conn->user = sess->user; in ksmbd_tree_conn_connect()
75 tree_conn->share_conf = sc; in ksmbd_tree_conn_connect()
76 status.tree_conn = tree_conn; in ksmbd_tree_conn_connect()
78 ret = xa_err(xa_store(&sess->tree_conns, tree_conn->id, tree_conn, in ksmbd_tree_conn_connect()
88 if (tree_conn) in ksmbd_tree_conn_connect()
89 ksmbd_release_tree_conn_id(sess, tree_conn->id); in ksmbd_tree_conn_connect()
91 kfree(tree_conn); in ksmbd_tree_conn_connect()
97 struct ksmbd_tree_connect *tree_conn) in ksmbd_tree_conn_disconnect() argument
101 ret = ksmbd_ipc_tree_disconnect_request(sess->id, tree_conn->id); in ksmbd_tree_conn_disconnect()
102 ksmbd_release_tree_conn_id(sess, tree_conn->id); in ksmbd_tree_conn_disconnect()
103 xa_erase(&sess->tree_conns, tree_conn->id); in ksmbd_tree_conn_disconnect()
104 ksmbd_share_config_put(tree_conn->share_conf); in ksmbd_tree_conn_disconnect()
105 kfree(tree_conn); in ksmbd_tree_conn_disconnect()