Lines Matching refs:tpg
81 struct scsiback_tpg *tpg; /* translate to */ member
223 struct scsiback_tpg *tpg = pending_req->v2p->tpg; in scsiback_print_status() local
226 tpg->tport->tport_name, pending_req->v2p->lun, in scsiback_print_status()
276 struct scsiback_tpg *tpg = entry->tpg; in scsiback_free_translation_entry() local
278 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_free_translation_entry()
279 tpg->tv_tpg_fe_count--; in scsiback_free_translation_entry()
280 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_free_translation_entry()
362 struct se_session *sess = pending_req->v2p->tpg->tpg_nexus->tvn_se_sess; in scsiback_cmd_exec()
559 struct scsiback_tpg *tpg = pending_req->v2p->tpg; in scsiback_device_action() local
560 struct scsiback_nexus *nexus = tpg->tpg_nexus; in scsiback_device_action()
616 struct scsiback_tpg *tpg = v2p->tpg; in scsiback_get_pend_req() local
617 struct scsiback_nexus *nexus = tpg->tpg_nexus; in scsiback_get_pend_req()
872 struct scsiback_tpg *tpg_entry, *tpg = NULL; in scsiback_add_translation_entry() local
898 tpg = tpg_entry; in scsiback_add_translation_entry()
906 if (tpg) { in scsiback_add_translation_entry()
907 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
908 tpg->tv_tpg_fe_count++; in scsiback_add_translation_entry()
909 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
913 if (!tpg) { in scsiback_add_translation_entry()
936 new->tpg = tpg; in scsiback_add_translation_entry()
945 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
946 tpg->tv_tpg_fe_count--; in scsiback_add_translation_entry()
947 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
1272 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_fabric_wwn() local
1274 struct scsiback_tport *tport = tpg->tport; in scsiback_get_fabric_wwn()
1281 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_tag() local
1283 return tpg->tport_tpgt; in scsiback_get_tag()
1432 struct scsiback_tpg *tpg = container_of(se_tpg, struct scsiback_tpg, in scsiback_tpg_param_alias_show() local
1436 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_show()
1437 rb = snprintf(page, PAGE_SIZE, "%s\n", tpg->param_alias); in scsiback_tpg_param_alias_show()
1438 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_show()
1447 struct scsiback_tpg *tpg = container_of(se_tpg, struct scsiback_tpg, in scsiback_tpg_param_alias_store() local
1457 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_store()
1458 len = snprintf(tpg->param_alias, VSCSI_NAMELEN, "%s", page); in scsiback_tpg_param_alias_store()
1459 if (tpg->param_alias[len - 1] == '\n') in scsiback_tpg_param_alias_store()
1460 tpg->param_alias[len - 1] = '\0'; in scsiback_tpg_param_alias_store()
1461 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_store()
1476 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_alloc_sess_cb() local
1479 tpg->tpg_nexus = p; in scsiback_alloc_sess_cb()
1483 static int scsiback_make_nexus(struct scsiback_tpg *tpg, in scsiback_make_nexus() argument
1489 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1490 if (tpg->tpg_nexus) { in scsiback_make_nexus()
1502 tv_nexus->tvn_se_sess = target_setup_session(&tpg->se_tpg, in scsiback_make_nexus()
1514 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1518 static int scsiback_drop_nexus(struct scsiback_tpg *tpg) in scsiback_drop_nexus() argument
1523 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1524 tv_nexus = tpg->tpg_nexus; in scsiback_drop_nexus()
1526 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1532 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1536 if (tpg->tv_tpg_port_count != 0) { in scsiback_drop_nexus()
1537 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1539 tpg->tv_tpg_port_count); in scsiback_drop_nexus()
1543 if (tpg->tv_tpg_fe_count != 0) { in scsiback_drop_nexus()
1544 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1546 tpg->tv_tpg_fe_count); in scsiback_drop_nexus()
1551 scsiback_dump_proto_id(tpg->tport), in scsiback_drop_nexus()
1558 tpg->tpg_nexus = NULL; in scsiback_drop_nexus()
1559 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1568 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_tpg_nexus_show() local
1573 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_nexus_show()
1574 tv_nexus = tpg->tpg_nexus; in scsiback_tpg_nexus_show()
1576 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_nexus_show()
1581 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_nexus_show()
1590 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_tpg_nexus_store() local
1592 struct scsiback_tport *tport_wwn = tpg->tport; in scsiback_tpg_nexus_store()
1599 ret = scsiback_drop_nexus(tpg); in scsiback_tpg_nexus_store()
1654 ret = scsiback_make_nexus(tpg, port_ptr); in scsiback_tpg_nexus_store()
1686 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_port_link() local
1689 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_port_link()
1690 tpg->tv_tpg_port_count++; in scsiback_port_link()
1691 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_port_link()
1699 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_port_unlink() local
1702 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_port_unlink()
1703 tpg->tv_tpg_port_count--; in scsiback_port_unlink()
1704 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_port_unlink()
1713 struct scsiback_tpg *tpg; in scsiback_make_tpg() local
1723 tpg = kzalloc(sizeof(struct scsiback_tpg), GFP_KERNEL); in scsiback_make_tpg()
1724 if (!tpg) in scsiback_make_tpg()
1727 mutex_init(&tpg->tv_tpg_mutex); in scsiback_make_tpg()
1728 INIT_LIST_HEAD(&tpg->tv_tpg_list); in scsiback_make_tpg()
1729 INIT_LIST_HEAD(&tpg->info_list); in scsiback_make_tpg()
1730 tpg->tport = tport; in scsiback_make_tpg()
1731 tpg->tport_tpgt = tpgt; in scsiback_make_tpg()
1733 ret = core_tpg_register(wwn, &tpg->se_tpg, tport->tport_proto_id); in scsiback_make_tpg()
1735 kfree(tpg); in scsiback_make_tpg()
1739 list_add_tail(&tpg->tv_tpg_list, &scsiback_list); in scsiback_make_tpg()
1742 return &tpg->se_tpg; in scsiback_make_tpg()
1747 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_drop_tpg() local
1751 list_del(&tpg->tv_tpg_list); in scsiback_drop_tpg()
1756 scsiback_drop_nexus(tpg); in scsiback_drop_tpg()
1761 kfree(tpg); in scsiback_drop_tpg()