Lines Matching refs:acl

94 	struct se_node_acl *acl;  in __core_tpg_get_initiator_node_acl()  local
96 list_for_each_entry(acl, &tpg->acl_node_list, acl_list) { in __core_tpg_get_initiator_node_acl()
97 if (!strcmp(acl->initiatorname, initiatorname)) in __core_tpg_get_initiator_node_acl()
98 return acl; in __core_tpg_get_initiator_node_acl()
112 struct se_node_acl *acl; in core_tpg_get_initiator_node_acl() local
115 acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_get_initiator_node_acl()
118 return acl; in core_tpg_get_initiator_node_acl()
127 struct se_node_acl *acl, in core_tpg_add_node_to_devs() argument
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()
188 struct se_node_acl *acl) in core_set_queue_depth_for_node() argument
190 if (!acl->queue_depth) { in core_set_queue_depth_for_node()
193 acl->initiatorname); in core_set_queue_depth_for_node()
194 acl->queue_depth = 1; in core_set_queue_depth_for_node()
265 struct se_node_acl *acl; in core_tpg_check_initiator_node_acl() local
267 acl = core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_check_initiator_node_acl()
268 if (acl) in core_tpg_check_initiator_node_acl()
269 return acl; 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()
275 if (!acl) in core_tpg_check_initiator_node_acl()
278 INIT_LIST_HEAD(&acl->acl_list); in core_tpg_check_initiator_node_acl()
279 INIT_LIST_HEAD(&acl->acl_sess_list); in core_tpg_check_initiator_node_acl()
280 kref_init(&acl->acl_kref); in core_tpg_check_initiator_node_acl()
281 init_completion(&acl->acl_free_comp); in core_tpg_check_initiator_node_acl()
282 spin_lock_init(&acl->device_list_lock); in core_tpg_check_initiator_node_acl()
283 spin_lock_init(&acl->nacl_sess_lock); in core_tpg_check_initiator_node_acl()
284 atomic_set(&acl->acl_pr_ref_count, 0); 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()
286 snprintf(acl->initiatorname, TRANSPORT_IQN_LEN, "%s", initiatorname); in core_tpg_check_initiator_node_acl()
287 acl->se_tpg = tpg; in core_tpg_check_initiator_node_acl()
288 acl->acl_index = scsi_get_new_index(SCSI_AUTH_INTR_INDEX); in core_tpg_check_initiator_node_acl()
289 acl->dynamic_node_acl = 1; in core_tpg_check_initiator_node_acl()
291 tpg->se_tpg_tfo->set_default_node_attributes(acl); in core_tpg_check_initiator_node_acl()
293 if (core_create_device_list_for_node(acl) < 0) { 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()
310 core_tpg_add_node_to_devs(acl, tpg); 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()
319 tpg->se_tpg_tfo->tpg_get_tag(tpg), acl->queue_depth, in core_tpg_check_initiator_node_acl()
322 return acl; in core_tpg_check_initiator_node_acl()
363 struct se_node_acl *acl = NULL; in core_tpg_add_initiator_node_acl() local
366 acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_add_initiator_node_acl()
367 if (acl) { in core_tpg_add_initiator_node_acl()
368 if (acl->dynamic_node_acl) { in core_tpg_add_initiator_node_acl()
369 acl->dynamic_node_acl = 0; in core_tpg_add_initiator_node_acl()
403 acl = se_nacl; in core_tpg_add_initiator_node_acl()
405 INIT_LIST_HEAD(&acl->acl_list); in core_tpg_add_initiator_node_acl()
406 INIT_LIST_HEAD(&acl->acl_sess_list); in core_tpg_add_initiator_node_acl()
407 kref_init(&acl->acl_kref); in core_tpg_add_initiator_node_acl()
408 init_completion(&acl->acl_free_comp); in core_tpg_add_initiator_node_acl()
409 spin_lock_init(&acl->device_list_lock); in core_tpg_add_initiator_node_acl()
410 spin_lock_init(&acl->nacl_sess_lock); in core_tpg_add_initiator_node_acl()
411 atomic_set(&acl->acl_pr_ref_count, 0); in core_tpg_add_initiator_node_acl()
412 acl->queue_depth = queue_depth; in core_tpg_add_initiator_node_acl()
413 snprintf(acl->initiatorname, TRANSPORT_IQN_LEN, "%s", initiatorname); in core_tpg_add_initiator_node_acl()
414 acl->se_tpg = tpg; in core_tpg_add_initiator_node_acl()
415 acl->acl_index = scsi_get_new_index(SCSI_AUTH_INTR_INDEX); in core_tpg_add_initiator_node_acl()
417 tpg->se_tpg_tfo->set_default_node_attributes(acl); in core_tpg_add_initiator_node_acl()
419 if (core_create_device_list_for_node(acl) < 0) { 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()
431 list_add_tail(&acl->acl_list, &tpg->acl_node_list); 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()
441 return acl; in core_tpg_add_initiator_node_acl()
451 struct se_node_acl *acl, in core_tpg_del_initiator_node_acl() argument
460 if (acl->dynamic_node_acl) { in core_tpg_del_initiator_node_acl()
461 acl->dynamic_node_acl = 0; in core_tpg_del_initiator_node_acl()
463 list_del(&acl->acl_list); in core_tpg_del_initiator_node_acl()
467 spin_lock_irqsave(&acl->nacl_sess_lock, flags); in core_tpg_del_initiator_node_acl()
468 acl->acl_stop = 1; in core_tpg_del_initiator_node_acl()
470 list_for_each_entry_safe(sess, sess_tmp, &acl->acl_sess_list, in core_tpg_del_initiator_node_acl()
478 spin_unlock_irqrestore(&acl->nacl_sess_lock, flags); in core_tpg_del_initiator_node_acl()
489 target_put_nacl(acl); in core_tpg_del_initiator_node_acl()
494 wait_for_completion(&acl->acl_free_comp); in core_tpg_del_initiator_node_acl()
496 core_tpg_wait_for_nacl_pr_ref(acl); 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()
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()
520 struct se_node_acl *acl; in core_tpg_set_initiator_node_queue_depth() local
525 acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); in core_tpg_set_initiator_node_queue_depth()
526 if (!acl) { in core_tpg_set_initiator_node_queue_depth()
534 if (acl->dynamic_node_acl) { in core_tpg_set_initiator_node_queue_depth()
535 acl->dynamic_node_acl = 0; in core_tpg_set_initiator_node_queue_depth()
542 if (sess->se_node_acl != acl) in core_tpg_set_initiator_node_queue_depth()
556 acl->dynamic_node_acl = 1; in core_tpg_set_initiator_node_queue_depth()
579 acl->queue_depth = queue_depth; 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()
594 acl->dynamic_node_acl = 1; in core_tpg_set_initiator_node_queue_depth()
613 acl->dynamic_node_acl = 1; in core_tpg_set_initiator_node_queue_depth()
628 struct se_node_acl *acl, in core_tpg_set_initiator_node_tag() argument
635 acl->acl_tag[0] = '\0'; in core_tpg_set_initiator_node_tag()
639 return snprintf(acl->acl_tag, MAX_ACL_TAG_SIZE, "%s", new_tag); in core_tpg_set_initiator_node_tag()