Lines Matching defs:tiqn

68 	struct iscsi_tiqn *tiqn = NULL;
71 list_for_each_entry(tiqn, &g_tiqn_list, tiqn_list) {
72 if (!strcmp(tiqn->tiqn, buf)) {
74 spin_lock(&tiqn->tiqn_state_lock);
75 if (tiqn->tiqn_state == TIQN_STATE_ACTIVE) {
76 tiqn->tiqn_access_count++;
77 spin_unlock(&tiqn->tiqn_state_lock);
79 return tiqn;
81 spin_unlock(&tiqn->tiqn_state_lock);
89 static int iscsit_set_tiqn_shutdown(struct iscsi_tiqn *tiqn)
91 spin_lock(&tiqn->tiqn_state_lock);
92 if (tiqn->tiqn_state == TIQN_STATE_ACTIVE) {
93 tiqn->tiqn_state = TIQN_STATE_SHUTDOWN;
94 spin_unlock(&tiqn->tiqn_state_lock);
97 spin_unlock(&tiqn->tiqn_state_lock);
102 void iscsit_put_tiqn_for_login(struct iscsi_tiqn *tiqn)
104 spin_lock(&tiqn->tiqn_state_lock);
105 tiqn->tiqn_access_count--;
106 spin_unlock(&tiqn->tiqn_state_lock);
115 struct iscsi_tiqn *tiqn = NULL;
124 tiqn = kzalloc(sizeof(*tiqn), GFP_KERNEL);
125 if (!tiqn)
128 sprintf(tiqn->tiqn, "%s", buf);
129 INIT_LIST_HEAD(&tiqn->tiqn_list);
130 INIT_LIST_HEAD(&tiqn->tiqn_tpg_list);
131 spin_lock_init(&tiqn->tiqn_state_lock);
132 spin_lock_init(&tiqn->tiqn_tpg_lock);
133 spin_lock_init(&tiqn->sess_err_stats.lock);
134 spin_lock_init(&tiqn->login_stats.lock);
135 spin_lock_init(&tiqn->logout_stats.lock);
137 tiqn->tiqn_state = TIQN_STATE_ACTIVE;
144 pr_err("idr_alloc() failed for tiqn->tiqn_index\n");
147 kfree(tiqn);
150 tiqn->tiqn_index = ret;
151 list_add_tail(&tiqn->tiqn_list, &g_tiqn_list);
156 pr_debug("CORE[0] - Added iSCSI Target IQN: %s\n", tiqn->tiqn);
158 return tiqn;
162 static void iscsit_wait_for_tiqn(struct iscsi_tiqn *tiqn)
167 spin_lock(&tiqn->tiqn_state_lock);
168 while (tiqn->tiqn_access_count != 0) {
169 spin_unlock(&tiqn->tiqn_state_lock);
171 spin_lock(&tiqn->tiqn_state_lock);
173 spin_unlock(&tiqn->tiqn_state_lock);
176 void iscsit_del_tiqn(struct iscsi_tiqn *tiqn)
179 * iscsit_set_tiqn_shutdown sets tiqn->tiqn_state = TIQN_STATE_SHUTDOWN
180 * while holding tiqn->tiqn_state_lock. This means that all subsequent
184 if (iscsit_set_tiqn_shutdown(tiqn) < 0) {
189 iscsit_wait_for_tiqn(tiqn);
192 list_del(&tiqn->tiqn_list);
193 idr_remove(&tiqn_idr, tiqn->tiqn_index);
197 tiqn->tiqn);
198 kfree(tiqn);
252 struct iscsi_tiqn *tiqn = tpg->tpg_tiqn;
259 if (tiqn)
260 iscsit_put_tiqn_for_login(tiqn);
2488 struct iscsi_tiqn *tiqn = iscsit_snmp_get_tiqn(conn);
2493 if (tiqn) {
2494 spin_lock(&tiqn->logout_stats.lock);
2496 tiqn->logout_stats.normal_logouts++;
2498 tiqn->logout_stats.abnormal_logouts++;
2499 spin_unlock(&tiqn->logout_stats.lock);
3378 struct iscsi_tiqn *tiqn;
3412 list_for_each_entry(tiqn, &g_tiqn_list, tiqn_list) {
3414 strcmp(tiqn->tiqn, text_ptr)) {
3420 spin_lock(&tiqn->tiqn_tpg_lock);
3421 list_for_each_entry(tpg, &tiqn->tiqn_tpg_list, tpg_list) {
3453 tiqn->tiqn);
3458 spin_unlock(&tiqn->tiqn_tpg_lock);
3487 spin_unlock(&tiqn->tiqn_tpg_lock);
3503 spin_unlock(&tiqn->tiqn_tpg_lock);