Lines Matching refs:tpg
79 struct scsiback_tpg *tpg; /* translate to */ member
221 struct scsiback_tpg *tpg = pending_req->v2p->tpg; in scsiback_print_status() local
224 tpg->tport->tport_name, pending_req->v2p->lun, in scsiback_print_status()
274 struct scsiback_tpg *tpg = entry->tpg; in scsiback_free_translation_entry() local
276 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_free_translation_entry()
277 tpg->tv_tpg_fe_count--; in scsiback_free_translation_entry()
278 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_free_translation_entry()
360 struct se_session *sess = pending_req->v2p->tpg->tpg_nexus->tvn_se_sess; in scsiback_cmd_exec()
554 struct scsiback_tpg *tpg = pending_req->v2p->tpg; in scsiback_device_action() local
555 struct scsiback_nexus *nexus = tpg->tpg_nexus; in scsiback_device_action()
611 struct scsiback_tpg *tpg = v2p->tpg; in scsiback_get_pend_req() local
612 struct scsiback_nexus *nexus = tpg->tpg_nexus; in scsiback_get_pend_req()
867 struct scsiback_tpg *tpg_entry, *tpg = NULL; in scsiback_add_translation_entry() local
893 tpg = tpg_entry; in scsiback_add_translation_entry()
901 if (tpg) { in scsiback_add_translation_entry()
902 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
903 tpg->tv_tpg_fe_count++; in scsiback_add_translation_entry()
904 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
908 if (!tpg) { in scsiback_add_translation_entry()
931 new->tpg = tpg; in scsiback_add_translation_entry()
940 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
941 tpg->tv_tpg_fe_count--; in scsiback_add_translation_entry()
942 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
1267 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_fabric_wwn() local
1269 struct scsiback_tport *tport = tpg->tport; in scsiback_get_fabric_wwn()
1276 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_tag() local
1278 return tpg->tport_tpgt; in scsiback_get_tag()
1426 struct scsiback_tpg *tpg = container_of(se_tpg, struct scsiback_tpg, in scsiback_tpg_param_alias_show() local
1430 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_show()
1431 rb = snprintf(page, PAGE_SIZE, "%s\n", tpg->param_alias); in scsiback_tpg_param_alias_show()
1432 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_show()
1441 struct scsiback_tpg *tpg = container_of(se_tpg, struct scsiback_tpg, in scsiback_tpg_param_alias_store() local
1451 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_store()
1452 len = snprintf(tpg->param_alias, VSCSI_NAMELEN, "%s", page); in scsiback_tpg_param_alias_store()
1453 if (tpg->param_alias[len - 1] == '\n') in scsiback_tpg_param_alias_store()
1454 tpg->param_alias[len - 1] = '\0'; in scsiback_tpg_param_alias_store()
1455 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_store()
1470 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_alloc_sess_cb() local
1473 tpg->tpg_nexus = p; in scsiback_alloc_sess_cb()
1477 static int scsiback_make_nexus(struct scsiback_tpg *tpg, in scsiback_make_nexus() argument
1483 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1484 if (tpg->tpg_nexus) { in scsiback_make_nexus()
1496 tv_nexus->tvn_se_sess = target_setup_session(&tpg->se_tpg, in scsiback_make_nexus()
1508 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1512 static int scsiback_drop_nexus(struct scsiback_tpg *tpg) in scsiback_drop_nexus() argument
1517 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1518 tv_nexus = tpg->tpg_nexus; in scsiback_drop_nexus()
1520 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1526 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1530 if (tpg->tv_tpg_port_count != 0) { in scsiback_drop_nexus()
1531 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1533 tpg->tv_tpg_port_count); in scsiback_drop_nexus()
1537 if (tpg->tv_tpg_fe_count != 0) { in scsiback_drop_nexus()
1538 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1540 tpg->tv_tpg_fe_count); in scsiback_drop_nexus()
1545 scsiback_dump_proto_id(tpg->tport), in scsiback_drop_nexus()
1552 tpg->tpg_nexus = NULL; in scsiback_drop_nexus()
1553 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1562 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_tpg_nexus_show() local
1567 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_nexus_show()
1568 tv_nexus = tpg->tpg_nexus; in scsiback_tpg_nexus_show()
1570 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_nexus_show()
1575 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_nexus_show()
1584 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_tpg_nexus_store() local
1586 struct scsiback_tport *tport_wwn = tpg->tport; in scsiback_tpg_nexus_store()
1593 ret = scsiback_drop_nexus(tpg); in scsiback_tpg_nexus_store()
1648 ret = scsiback_make_nexus(tpg, port_ptr); in scsiback_tpg_nexus_store()
1680 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_port_link() local
1683 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_port_link()
1684 tpg->tv_tpg_port_count++; in scsiback_port_link()
1685 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_port_link()
1693 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_port_unlink() local
1696 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_port_unlink()
1697 tpg->tv_tpg_port_count--; in scsiback_port_unlink()
1698 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_port_unlink()
1707 struct scsiback_tpg *tpg; in scsiback_make_tpg() local
1717 tpg = kzalloc(sizeof(struct scsiback_tpg), GFP_KERNEL); in scsiback_make_tpg()
1718 if (!tpg) in scsiback_make_tpg()
1721 mutex_init(&tpg->tv_tpg_mutex); in scsiback_make_tpg()
1722 INIT_LIST_HEAD(&tpg->tv_tpg_list); in scsiback_make_tpg()
1723 INIT_LIST_HEAD(&tpg->info_list); in scsiback_make_tpg()
1724 tpg->tport = tport; in scsiback_make_tpg()
1725 tpg->tport_tpgt = tpgt; in scsiback_make_tpg()
1727 ret = core_tpg_register(wwn, &tpg->se_tpg, tport->tport_proto_id); in scsiback_make_tpg()
1729 kfree(tpg); in scsiback_make_tpg()
1733 list_add_tail(&tpg->tv_tpg_list, &scsiback_list); in scsiback_make_tpg()
1736 return &tpg->se_tpg; in scsiback_make_tpg()
1741 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_drop_tpg() local
1745 list_del(&tpg->tv_tpg_list); in scsiback_drop_tpg()
1750 scsiback_drop_nexus(tpg); in scsiback_drop_tpg()
1755 kfree(tpg); in scsiback_drop_tpg()