Lines Matching refs:tpg
56 struct se_portal_group *tpg, in __core_tpg_get_initiator_node_acl() argument
61 list_for_each_entry(acl, &tpg->acl_node_list, acl_list) { in __core_tpg_get_initiator_node_acl()
74 struct se_portal_group *tpg, in core_tpg_get_initiator_node_acl() argument
87 mutex_lock(&tpg->acl_node_mutex); in core_tpg_get_initiator_node_acl()
88 acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_get_initiator_node_acl()
93 mutex_unlock(&tpg->acl_node_mutex); in core_tpg_get_initiator_node_acl()
121 struct se_portal_group *tpg, in core_tpg_add_node_to_devs() argument
128 mutex_lock(&tpg->tpg_lun_mutex); in core_tpg_add_node_to_devs()
129 hlist_for_each_entry_rcu(lun, &tpg->tpg_lun_hlist, link) { in core_tpg_add_node_to_devs()
134 lockdep_is_held(&tpg->tpg_lun_mutex)); in core_tpg_add_node_to_devs()
139 if (!tpg->se_tpg_tfo->tpg_check_demo_mode_write_protect(tpg)) { in core_tpg_add_node_to_devs()
154 tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_add_node_to_devs()
155 tpg->se_tpg_tfo->tpg_get_tag(tpg), lun->unpacked_lun, in core_tpg_add_node_to_devs()
159 lun_access_ro, acl, tpg); in core_tpg_add_node_to_devs()
165 core_scsi3_check_aptpl_registration(dev, tpg, lun, acl, in core_tpg_add_node_to_devs()
168 mutex_unlock(&tpg->tpg_lun_mutex); in core_tpg_add_node_to_devs()
172 target_set_nacl_queue_depth(struct se_portal_group *tpg, in target_set_nacl_queue_depth() argument
179 "defaulting to 1.\n", tpg->se_tpg_tfo->get_fabric_name(), in target_set_nacl_queue_depth()
185 static struct se_node_acl *target_alloc_node_acl(struct se_portal_group *tpg, in target_alloc_node_acl() argument
191 acl = kzalloc(max(sizeof(*acl), tpg->se_tpg_tfo->node_acl_size), in target_alloc_node_acl()
205 if (tpg->se_tpg_tfo->tpg_get_default_depth) in target_alloc_node_acl()
206 queue_depth = tpg->se_tpg_tfo->tpg_get_default_depth(tpg); in target_alloc_node_acl()
209 target_set_nacl_queue_depth(tpg, acl, queue_depth); in target_alloc_node_acl()
212 acl->se_tpg = tpg; in target_alloc_node_acl()
215 tpg->se_tpg_tfo->set_default_node_attributes(acl); in target_alloc_node_acl()
222 struct se_portal_group *tpg = acl->se_tpg; in target_add_node_acl() local
224 mutex_lock(&tpg->acl_node_mutex); in target_add_node_acl()
225 list_add_tail(&acl->acl_list, &tpg->acl_node_list); in target_add_node_acl()
226 mutex_unlock(&tpg->acl_node_mutex); in target_add_node_acl()
230 tpg->se_tpg_tfo->get_fabric_name(), in target_add_node_acl()
231 tpg->se_tpg_tfo->tpg_get_tag(tpg), in target_add_node_acl()
234 tpg->se_tpg_tfo->get_fabric_name(), in target_add_node_acl()
238 bool target_tpg_has_node_acl(struct se_portal_group *tpg, in target_tpg_has_node_acl() argument
244 mutex_lock(&tpg->acl_node_mutex); in target_tpg_has_node_acl()
245 list_for_each_entry(acl, &tpg->acl_node_list, acl_list) { in target_tpg_has_node_acl()
251 mutex_unlock(&tpg->acl_node_mutex); in target_tpg_has_node_acl()
258 struct se_portal_group *tpg, in core_tpg_check_initiator_node_acl() argument
263 acl = core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_check_initiator_node_acl()
267 if (!tpg->se_tpg_tfo->tpg_check_demo_mode(tpg)) in core_tpg_check_initiator_node_acl()
270 acl = target_alloc_node_acl(tpg, initiatorname); in core_tpg_check_initiator_node_acl()
289 if ((tpg->se_tpg_tfo->tpg_check_demo_mode_login_only == NULL) || in core_tpg_check_initiator_node_acl()
290 (tpg->se_tpg_tfo->tpg_check_demo_mode_login_only(tpg) != 1)) in core_tpg_check_initiator_node_acl()
291 core_tpg_add_node_to_devs(acl, tpg, NULL); in core_tpg_check_initiator_node_acl()
305 struct se_portal_group *tpg, in core_tpg_add_initiator_node_acl() argument
310 mutex_lock(&tpg->acl_node_mutex); in core_tpg_add_initiator_node_acl()
311 acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_add_initiator_node_acl()
316 " for %s\n", tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_add_initiator_node_acl()
317 tpg->se_tpg_tfo->tpg_get_tag(tpg), initiatorname); in core_tpg_add_initiator_node_acl()
318 mutex_unlock(&tpg->acl_node_mutex); in core_tpg_add_initiator_node_acl()
324 " request.\n", tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_add_initiator_node_acl()
325 initiatorname, tpg->se_tpg_tfo->tpg_get_tag(tpg)); in core_tpg_add_initiator_node_acl()
326 mutex_unlock(&tpg->acl_node_mutex); in core_tpg_add_initiator_node_acl()
329 mutex_unlock(&tpg->acl_node_mutex); in core_tpg_add_initiator_node_acl()
331 acl = target_alloc_node_acl(tpg, initiatorname); in core_tpg_add_initiator_node_acl()
362 struct se_portal_group *tpg = acl->se_tpg; in core_tpg_del_initiator_node_acl() local
364 mutex_lock(&tpg->acl_node_mutex); in core_tpg_del_initiator_node_acl()
368 mutex_unlock(&tpg->acl_node_mutex); in core_tpg_del_initiator_node_acl()
380 core_free_device_list_for_node(acl, tpg); in core_tpg_del_initiator_node_acl()
383 " Initiator Node: %s\n", tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_del_initiator_node_acl()
384 tpg->se_tpg_tfo->tpg_get_tag(tpg), acl->queue_depth, in core_tpg_del_initiator_node_acl()
385 tpg->se_tpg_tfo->get_fabric_name(), acl->initiatorname); in core_tpg_del_initiator_node_acl()
398 struct se_portal_group *tpg = acl->se_tpg; in core_tpg_set_initiator_node_queue_depth() local
412 target_set_nacl_queue_depth(tpg, acl, queue_depth); in core_tpg_set_initiator_node_queue_depth()
421 acl->initiatorname, tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_set_initiator_node_queue_depth()
422 tpg->se_tpg_tfo->tpg_get_tag(tpg)); in core_tpg_set_initiator_node_queue_depth()
435 struct se_portal_group *tpg, in core_tpg_set_initiator_node_tag() argument
568 struct se_portal_group *tpg, in core_tpg_alloc_lun() argument
589 lun->lun_tpg = tpg; in core_tpg_alloc_lun()
595 struct se_portal_group *tpg, in core_tpg_add_lun() argument
616 mutex_lock(&tpg->tpg_lun_mutex); in core_tpg_add_lun()
630 hlist_add_head_rcu(&lun->link, &tpg->tpg_lun_hlist); in core_tpg_add_lun()
631 mutex_unlock(&tpg->tpg_lun_mutex); in core_tpg_add_lun()
642 struct se_portal_group *tpg, in core_tpg_remove_lun() argument
653 core_clear_lun_from_tpg(lun, tpg); in core_tpg_remove_lun()
662 mutex_lock(&tpg->tpg_lun_mutex); in core_tpg_remove_lun()
676 mutex_unlock(&tpg->tpg_lun_mutex); in core_tpg_remove_lun()