Lines Matching refs:tpg
56 struct se_portal_group *tpg) in core_clear_initiator_node_from_tpg() argument
72 tpg->se_tpg_tfo->get_fabric_name()); in core_clear_initiator_node_from_tpg()
79 TRANSPORT_LUNFLAGS_NO_ACCESS, nacl, tpg); in core_clear_initiator_node_from_tpg()
91 struct se_portal_group *tpg, in __core_tpg_get_initiator_node_acl() argument
96 list_for_each_entry(acl, &tpg->acl_node_list, acl_list) { in __core_tpg_get_initiator_node_acl()
109 struct se_portal_group *tpg, in core_tpg_get_initiator_node_acl() argument
114 spin_lock_irq(&tpg->acl_node_lock); in core_tpg_get_initiator_node_acl()
115 acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_get_initiator_node_acl()
116 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_get_initiator_node_acl()
128 struct se_portal_group *tpg) in core_tpg_add_node_to_devs() argument
135 spin_lock(&tpg->tpg_lun_lock); in core_tpg_add_node_to_devs()
137 lun = tpg->tpg_lun_list[i]; in core_tpg_add_node_to_devs()
141 spin_unlock(&tpg->tpg_lun_lock); in core_tpg_add_node_to_devs()
148 if (!tpg->se_tpg_tfo->tpg_check_demo_mode_write_protect(tpg)) { in core_tpg_add_node_to_devs()
163 tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_add_node_to_devs()
164 tpg->se_tpg_tfo->tpg_get_tag(tpg), lun->unpacked_lun, in core_tpg_add_node_to_devs()
169 lun_access, acl, tpg); in core_tpg_add_node_to_devs()
175 core_scsi3_check_aptpl_registration(dev, tpg, lun, acl, in core_tpg_add_node_to_devs()
177 spin_lock(&tpg->tpg_lun_lock); in core_tpg_add_node_to_devs()
179 spin_unlock(&tpg->tpg_lun_lock); in core_tpg_add_node_to_devs()
187 struct se_portal_group *tpg, in core_set_queue_depth_for_node() argument
192 "defaulting to 1.\n", tpg->se_tpg_tfo->get_fabric_name(), in core_set_queue_depth_for_node()
262 struct se_portal_group *tpg, in core_tpg_check_initiator_node_acl() argument
267 acl = core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_check_initiator_node_acl()
271 if (!tpg->se_tpg_tfo->tpg_check_demo_mode(tpg)) in core_tpg_check_initiator_node_acl()
274 acl = tpg->se_tpg_tfo->tpg_alloc_fabric_acl(tpg); in core_tpg_check_initiator_node_acl()
285 acl->queue_depth = tpg->se_tpg_tfo->tpg_get_default_depth(tpg); in core_tpg_check_initiator_node_acl()
287 acl->se_tpg = tpg; in core_tpg_check_initiator_node_acl()
291 tpg->se_tpg_tfo->set_default_node_attributes(acl); in core_tpg_check_initiator_node_acl()
294 tpg->se_tpg_tfo->tpg_release_fabric_acl(tpg, acl); in core_tpg_check_initiator_node_acl()
298 if (core_set_queue_depth_for_node(tpg, acl) < 0) { in core_tpg_check_initiator_node_acl()
299 core_free_device_list_for_node(acl, tpg); in core_tpg_check_initiator_node_acl()
300 tpg->se_tpg_tfo->tpg_release_fabric_acl(tpg, acl); in core_tpg_check_initiator_node_acl()
308 if ((tpg->se_tpg_tfo->tpg_check_demo_mode_login_only == NULL) || in core_tpg_check_initiator_node_acl()
309 (tpg->se_tpg_tfo->tpg_check_demo_mode_login_only(tpg) != 1)) in core_tpg_check_initiator_node_acl()
310 core_tpg_add_node_to_devs(acl, tpg); in core_tpg_check_initiator_node_acl()
312 spin_lock_irq(&tpg->acl_node_lock); in core_tpg_check_initiator_node_acl()
313 list_add_tail(&acl->acl_list, &tpg->acl_node_list); in core_tpg_check_initiator_node_acl()
314 tpg->num_node_acls++; in core_tpg_check_initiator_node_acl()
315 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_check_initiator_node_acl()
318 " Initiator Node: %s\n", tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_check_initiator_node_acl()
319 tpg->se_tpg_tfo->tpg_get_tag(tpg), acl->queue_depth, in core_tpg_check_initiator_node_acl()
320 tpg->se_tpg_tfo->get_fabric_name(), initiatorname); in core_tpg_check_initiator_node_acl()
332 void core_tpg_clear_object_luns(struct se_portal_group *tpg) in core_tpg_clear_object_luns() argument
337 spin_lock(&tpg->tpg_lun_lock); in core_tpg_clear_object_luns()
339 lun = tpg->tpg_lun_list[i]; in core_tpg_clear_object_luns()
345 spin_unlock(&tpg->tpg_lun_lock); in core_tpg_clear_object_luns()
346 core_dev_del_lun(tpg, lun); in core_tpg_clear_object_luns()
347 spin_lock(&tpg->tpg_lun_lock); in core_tpg_clear_object_luns()
349 spin_unlock(&tpg->tpg_lun_lock); in core_tpg_clear_object_luns()
358 struct se_portal_group *tpg, in core_tpg_add_initiator_node_acl() argument
365 spin_lock_irq(&tpg->acl_node_lock); in core_tpg_add_initiator_node_acl()
366 acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_add_initiator_node_acl()
371 " for %s\n", tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_add_initiator_node_acl()
372 tpg->se_tpg_tfo->tpg_get_tag(tpg), initiatorname); in core_tpg_add_initiator_node_acl()
373 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_add_initiator_node_acl()
380 tpg->se_tpg_tfo->tpg_release_fabric_acl(tpg, in core_tpg_add_initiator_node_acl()
387 " request.\n", tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_add_initiator_node_acl()
388 initiatorname, tpg->se_tpg_tfo->tpg_get_tag(tpg)); in core_tpg_add_initiator_node_acl()
389 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_add_initiator_node_acl()
392 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_add_initiator_node_acl()
414 acl->se_tpg = tpg; in core_tpg_add_initiator_node_acl()
417 tpg->se_tpg_tfo->set_default_node_attributes(acl); in core_tpg_add_initiator_node_acl()
420 tpg->se_tpg_tfo->tpg_release_fabric_acl(tpg, acl); in core_tpg_add_initiator_node_acl()
424 if (core_set_queue_depth_for_node(tpg, acl) < 0) { in core_tpg_add_initiator_node_acl()
425 core_free_device_list_for_node(acl, tpg); in core_tpg_add_initiator_node_acl()
426 tpg->se_tpg_tfo->tpg_release_fabric_acl(tpg, acl); in core_tpg_add_initiator_node_acl()
430 spin_lock_irq(&tpg->acl_node_lock); in core_tpg_add_initiator_node_acl()
431 list_add_tail(&acl->acl_list, &tpg->acl_node_list); in core_tpg_add_initiator_node_acl()
432 tpg->num_node_acls++; in core_tpg_add_initiator_node_acl()
433 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_add_initiator_node_acl()
437 " Initiator Node: %s\n", tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_add_initiator_node_acl()
438 tpg->se_tpg_tfo->tpg_get_tag(tpg), acl->queue_depth, in core_tpg_add_initiator_node_acl()
439 tpg->se_tpg_tfo->get_fabric_name(), initiatorname); in core_tpg_add_initiator_node_acl()
450 struct se_portal_group *tpg, in core_tpg_del_initiator_node_acl() argument
459 spin_lock_irq(&tpg->acl_node_lock); in core_tpg_del_initiator_node_acl()
464 tpg->num_node_acls--; in core_tpg_del_initiator_node_acl()
465 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_del_initiator_node_acl()
483 rc = tpg->se_tpg_tfo->shutdown_session(sess); in core_tpg_del_initiator_node_acl()
497 core_clear_initiator_node_from_tpg(acl, tpg); in core_tpg_del_initiator_node_acl()
498 core_free_device_list_for_node(acl, tpg); in core_tpg_del_initiator_node_acl()
501 " Initiator Node: %s\n", tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_del_initiator_node_acl()
502 tpg->se_tpg_tfo->tpg_get_tag(tpg), acl->queue_depth, in core_tpg_del_initiator_node_acl()
503 tpg->se_tpg_tfo->get_fabric_name(), acl->initiatorname); in core_tpg_del_initiator_node_acl()
514 struct se_portal_group *tpg, in core_tpg_set_initiator_node_queue_depth() argument
524 spin_lock_irq(&tpg->acl_node_lock); in core_tpg_set_initiator_node_queue_depth()
525 acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_set_initiator_node_queue_depth()
529 " request.\n", tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_set_initiator_node_queue_depth()
530 initiatorname, tpg->se_tpg_tfo->tpg_get_tag(tpg)); in core_tpg_set_initiator_node_queue_depth()
531 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_set_initiator_node_queue_depth()
538 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_set_initiator_node_queue_depth()
540 spin_lock_irqsave(&tpg->session_lock, flags); in core_tpg_set_initiator_node_queue_depth()
541 list_for_each_entry(sess, &tpg->tpg_sess_list, sess_list) { in core_tpg_set_initiator_node_queue_depth()
551 tpg->se_tpg_tfo->get_fabric_name(), initiatorname); in core_tpg_set_initiator_node_queue_depth()
552 spin_unlock_irqrestore(&tpg->session_lock, flags); in core_tpg_set_initiator_node_queue_depth()
554 spin_lock_irq(&tpg->acl_node_lock); in core_tpg_set_initiator_node_queue_depth()
557 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_set_initiator_node_queue_depth()
563 if (!tpg->se_tpg_tfo->shutdown_session(sess)) in core_tpg_set_initiator_node_queue_depth()
581 if (core_set_queue_depth_for_node(tpg, acl) < 0) { in core_tpg_set_initiator_node_queue_depth()
582 spin_unlock_irqrestore(&tpg->session_lock, flags); in core_tpg_set_initiator_node_queue_depth()
590 tpg->se_tpg_tfo->close_session(init_sess); in core_tpg_set_initiator_node_queue_depth()
592 spin_lock_irq(&tpg->acl_node_lock); in core_tpg_set_initiator_node_queue_depth()
595 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_set_initiator_node_queue_depth()
598 spin_unlock_irqrestore(&tpg->session_lock, flags); in core_tpg_set_initiator_node_queue_depth()
604 tpg->se_tpg_tfo->close_session(init_sess); in core_tpg_set_initiator_node_queue_depth()
608 initiatorname, tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_set_initiator_node_queue_depth()
609 tpg->se_tpg_tfo->tpg_get_tag(tpg)); in core_tpg_set_initiator_node_queue_depth()
611 spin_lock_irq(&tpg->acl_node_lock); in core_tpg_set_initiator_node_queue_depth()
614 spin_unlock_irq(&tpg->acl_node_lock); in core_tpg_set_initiator_node_queue_depth()
627 struct se_portal_group *tpg, in core_tpg_set_initiator_node_tag() argument
786 struct se_portal_group *tpg, in core_tpg_alloc_lun() argument
794 tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_alloc_lun()
796 tpg->se_tpg_tfo->tpg_get_tag(tpg)); in core_tpg_alloc_lun()
800 spin_lock(&tpg->tpg_lun_lock); in core_tpg_alloc_lun()
801 lun = tpg->tpg_lun_list[unpacked_lun]; in core_tpg_alloc_lun()
805 unpacked_lun, tpg->se_tpg_tfo->get_fabric_name(), in core_tpg_alloc_lun()
806 tpg->se_tpg_tfo->tpg_get_tag(tpg)); in core_tpg_alloc_lun()
807 spin_unlock(&tpg->tpg_lun_lock); in core_tpg_alloc_lun()
810 spin_unlock(&tpg->tpg_lun_lock); in core_tpg_alloc_lun()
816 struct se_portal_group *tpg, in core_tpg_add_lun() argument
828 ret = core_dev_export(dev, tpg, lun); in core_tpg_add_lun()
834 spin_lock(&tpg->tpg_lun_lock); in core_tpg_add_lun()
837 spin_unlock(&tpg->tpg_lun_lock); in core_tpg_add_lun()
843 struct se_portal_group *tpg, in core_tpg_remove_lun() argument
846 core_clear_lun_from_tpg(lun, tpg); in core_tpg_remove_lun()
849 core_dev_unexport(lun->lun_se_dev, tpg, lun); in core_tpg_remove_lun()
851 spin_lock(&tpg->tpg_lun_lock); in core_tpg_remove_lun()
853 spin_unlock(&tpg->tpg_lun_lock); in core_tpg_remove_lun()