Lines Matching defs:tiqn

67 	struct iscsi_tiqn *tiqn = NULL;
70 list_for_each_entry(tiqn, &g_tiqn_list, tiqn_list) {
71 if (!strcmp(tiqn->tiqn, buf)) {
73 spin_lock(&tiqn->tiqn_state_lock);
74 if (tiqn->tiqn_state == TIQN_STATE_ACTIVE) {
75 tiqn->tiqn_access_count++;
76 spin_unlock(&tiqn->tiqn_state_lock);
78 return tiqn;
80 spin_unlock(&tiqn->tiqn_state_lock);
88 static int iscsit_set_tiqn_shutdown(struct iscsi_tiqn *tiqn)
90 spin_lock(&tiqn->tiqn_state_lock);
91 if (tiqn->tiqn_state == TIQN_STATE_ACTIVE) {
92 tiqn->tiqn_state = TIQN_STATE_SHUTDOWN;
93 spin_unlock(&tiqn->tiqn_state_lock);
96 spin_unlock(&tiqn->tiqn_state_lock);
101 void iscsit_put_tiqn_for_login(struct iscsi_tiqn *tiqn)
103 spin_lock(&tiqn->tiqn_state_lock);
104 tiqn->tiqn_access_count--;
105 spin_unlock(&tiqn->tiqn_state_lock);
114 struct iscsi_tiqn *tiqn = NULL;
123 tiqn = kzalloc(sizeof(*tiqn), GFP_KERNEL);
124 if (!tiqn)
127 sprintf(tiqn->tiqn, "%s", buf);
128 INIT_LIST_HEAD(&tiqn->tiqn_list);
129 INIT_LIST_HEAD(&tiqn->tiqn_tpg_list);
130 spin_lock_init(&tiqn->tiqn_state_lock);
131 spin_lock_init(&tiqn->tiqn_tpg_lock);
132 spin_lock_init(&tiqn->sess_err_stats.lock);
133 spin_lock_init(&tiqn->login_stats.lock);
134 spin_lock_init(&tiqn->logout_stats.lock);
136 tiqn->tiqn_state = TIQN_STATE_ACTIVE;
143 pr_err("idr_alloc() failed for tiqn->tiqn_index\n");
146 kfree(tiqn);
149 tiqn->tiqn_index = ret;
150 list_add_tail(&tiqn->tiqn_list, &g_tiqn_list);
155 pr_debug("CORE[0] - Added iSCSI Target IQN: %s\n", tiqn->tiqn);
157 return tiqn;
161 static void iscsit_wait_for_tiqn(struct iscsi_tiqn *tiqn)
166 spin_lock(&tiqn->tiqn_state_lock);
167 while (tiqn->tiqn_access_count != 0) {
168 spin_unlock(&tiqn->tiqn_state_lock);
170 spin_lock(&tiqn->tiqn_state_lock);
172 spin_unlock(&tiqn->tiqn_state_lock);
175 void iscsit_del_tiqn(struct iscsi_tiqn *tiqn)
178 * iscsit_set_tiqn_shutdown sets tiqn->tiqn_state = TIQN_STATE_SHUTDOWN
179 * while holding tiqn->tiqn_state_lock. This means that all subsequent
183 if (iscsit_set_tiqn_shutdown(tiqn) < 0) {
188 iscsit_wait_for_tiqn(tiqn);
191 list_del(&tiqn->tiqn_list);
192 idr_remove(&tiqn_idr, tiqn->tiqn_index);
196 tiqn->tiqn);
197 kfree(tiqn);
251 struct iscsi_tiqn *tiqn = tpg->tpg_tiqn;
258 if (tiqn)
259 iscsit_put_tiqn_for_login(tiqn);
2453 struct iscsi_tiqn *tiqn = iscsit_snmp_get_tiqn(conn);
2458 if (tiqn) {
2459 spin_lock(&tiqn->logout_stats.lock);
2461 tiqn->logout_stats.normal_logouts++;
2463 tiqn->logout_stats.abnormal_logouts++;
2464 spin_unlock(&tiqn->logout_stats.lock);
3343 struct iscsi_tiqn *tiqn;
3377 list_for_each_entry(tiqn, &g_tiqn_list, tiqn_list) {
3379 strcmp(tiqn->tiqn, text_ptr)) {
3385 spin_lock(&tiqn->tiqn_tpg_lock);
3386 list_for_each_entry(tpg, &tiqn->tiqn_tpg_list, tpg_list) {
3418 tiqn->tiqn);
3423 spin_unlock(&tiqn->tiqn_tpg_lock);
3452 spin_unlock(&tiqn->tiqn_tpg_lock);
3468 spin_unlock(&tiqn->tiqn_tpg_lock);