Lines Matching refs:tiqn

72 	struct iscsi_tiqn *tiqn = NULL;  in iscsit_get_tiqn_for_login()  local
75 list_for_each_entry(tiqn, &g_tiqn_list, tiqn_list) { in iscsit_get_tiqn_for_login()
76 if (!strcmp(tiqn->tiqn, buf)) { in iscsit_get_tiqn_for_login()
78 spin_lock(&tiqn->tiqn_state_lock); in iscsit_get_tiqn_for_login()
79 if (tiqn->tiqn_state == TIQN_STATE_ACTIVE) { in iscsit_get_tiqn_for_login()
80 tiqn->tiqn_access_count++; in iscsit_get_tiqn_for_login()
81 spin_unlock(&tiqn->tiqn_state_lock); in iscsit_get_tiqn_for_login()
83 return tiqn; in iscsit_get_tiqn_for_login()
85 spin_unlock(&tiqn->tiqn_state_lock); in iscsit_get_tiqn_for_login()
93 static int iscsit_set_tiqn_shutdown(struct iscsi_tiqn *tiqn) in iscsit_set_tiqn_shutdown() argument
95 spin_lock(&tiqn->tiqn_state_lock); in iscsit_set_tiqn_shutdown()
96 if (tiqn->tiqn_state == TIQN_STATE_ACTIVE) { in iscsit_set_tiqn_shutdown()
97 tiqn->tiqn_state = TIQN_STATE_SHUTDOWN; in iscsit_set_tiqn_shutdown()
98 spin_unlock(&tiqn->tiqn_state_lock); in iscsit_set_tiqn_shutdown()
101 spin_unlock(&tiqn->tiqn_state_lock); in iscsit_set_tiqn_shutdown()
106 void iscsit_put_tiqn_for_login(struct iscsi_tiqn *tiqn) in iscsit_put_tiqn_for_login() argument
108 spin_lock(&tiqn->tiqn_state_lock); in iscsit_put_tiqn_for_login()
109 tiqn->tiqn_access_count--; in iscsit_put_tiqn_for_login()
110 spin_unlock(&tiqn->tiqn_state_lock); in iscsit_put_tiqn_for_login()
119 struct iscsi_tiqn *tiqn = NULL; in iscsit_add_tiqn() local
128 tiqn = kzalloc(sizeof(struct iscsi_tiqn), GFP_KERNEL); in iscsit_add_tiqn()
129 if (!tiqn) { in iscsit_add_tiqn()
134 sprintf(tiqn->tiqn, "%s", buf); in iscsit_add_tiqn()
135 INIT_LIST_HEAD(&tiqn->tiqn_list); in iscsit_add_tiqn()
136 INIT_LIST_HEAD(&tiqn->tiqn_tpg_list); in iscsit_add_tiqn()
137 spin_lock_init(&tiqn->tiqn_state_lock); in iscsit_add_tiqn()
138 spin_lock_init(&tiqn->tiqn_tpg_lock); in iscsit_add_tiqn()
139 spin_lock_init(&tiqn->sess_err_stats.lock); in iscsit_add_tiqn()
140 spin_lock_init(&tiqn->login_stats.lock); in iscsit_add_tiqn()
141 spin_lock_init(&tiqn->logout_stats.lock); in iscsit_add_tiqn()
143 tiqn->tiqn_state = TIQN_STATE_ACTIVE; in iscsit_add_tiqn()
153 kfree(tiqn); in iscsit_add_tiqn()
156 tiqn->tiqn_index = ret; in iscsit_add_tiqn()
157 list_add_tail(&tiqn->tiqn_list, &g_tiqn_list); in iscsit_add_tiqn()
162 pr_debug("CORE[0] - Added iSCSI Target IQN: %s\n", tiqn->tiqn); in iscsit_add_tiqn()
164 return tiqn; in iscsit_add_tiqn()
168 static void iscsit_wait_for_tiqn(struct iscsi_tiqn *tiqn) in iscsit_wait_for_tiqn() argument
173 spin_lock(&tiqn->tiqn_state_lock); in iscsit_wait_for_tiqn()
174 while (tiqn->tiqn_access_count != 0) { in iscsit_wait_for_tiqn()
175 spin_unlock(&tiqn->tiqn_state_lock); in iscsit_wait_for_tiqn()
177 spin_lock(&tiqn->tiqn_state_lock); in iscsit_wait_for_tiqn()
179 spin_unlock(&tiqn->tiqn_state_lock); in iscsit_wait_for_tiqn()
182 void iscsit_del_tiqn(struct iscsi_tiqn *tiqn) in iscsit_del_tiqn() argument
190 if (iscsit_set_tiqn_shutdown(tiqn) < 0) { in iscsit_del_tiqn()
195 iscsit_wait_for_tiqn(tiqn); in iscsit_del_tiqn()
198 list_del(&tiqn->tiqn_list); in iscsit_del_tiqn()
199 idr_remove(&tiqn_idr, tiqn->tiqn_index); in iscsit_del_tiqn()
203 tiqn->tiqn); in iscsit_del_tiqn()
204 kfree(tiqn); in iscsit_del_tiqn()
258 struct iscsi_tiqn *tiqn = tpg->tpg_tiqn; in iscsit_deaccess_np() local
265 if (tiqn) in iscsit_deaccess_np()
266 iscsit_put_tiqn_for_login(tiqn); in iscsit_deaccess_np()
2269 struct iscsi_tiqn *tiqn = iscsit_snmp_get_tiqn(conn); in iscsit_handle_logout_cmd() local
2274 if (tiqn) { in iscsit_handle_logout_cmd()
2275 spin_lock(&tiqn->logout_stats.lock); in iscsit_handle_logout_cmd()
2277 tiqn->logout_stats.normal_logouts++; in iscsit_handle_logout_cmd()
2279 tiqn->logout_stats.abnormal_logouts++; in iscsit_handle_logout_cmd()
2280 spin_unlock(&tiqn->logout_stats.lock); in iscsit_handle_logout_cmd()
3395 struct iscsi_tiqn *tiqn; in iscsit_build_sendtargets_response() local
3430 list_for_each_entry(tiqn, &g_tiqn_list, tiqn_list) { in iscsit_build_sendtargets_response()
3432 strcmp(tiqn->tiqn, text_ptr)) { in iscsit_build_sendtargets_response()
3438 spin_lock(&tiqn->tiqn_tpg_lock); in iscsit_build_sendtargets_response()
3439 list_for_each_entry(tpg, &tiqn->tiqn_tpg_list, tpg_list) { in iscsit_build_sendtargets_response()
3472 tiqn->tiqn); in iscsit_build_sendtargets_response()
3477 spin_unlock(&tiqn->tiqn_tpg_lock); in iscsit_build_sendtargets_response()
3509 spin_unlock(&tiqn->tiqn_tpg_lock); in iscsit_build_sendtargets_response()
3525 spin_unlock(&tiqn->tiqn_tpg_lock); in iscsit_build_sendtargets_response()