Lines Matching refs:tpg

81 	struct scsiback_tpg *tpg;	/* translate to   */  member
263 struct scsiback_tpg *tpg = pending_req->v2p->tpg; in scsiback_print_status() local
266 tpg->tport->tport_name, pending_req->v2p->lun, in scsiback_print_status()
315 struct scsiback_tpg *tpg = entry->tpg; in scsiback_free_translation_entry() local
317 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_free_translation_entry()
318 tpg->tv_tpg_fe_count--; in scsiback_free_translation_entry()
319 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_free_translation_entry()
388 struct se_session *sess = pending_req->v2p->tpg->tpg_nexus->tvn_se_sess; in scsiback_cmd_exec()
590 struct scsiback_tpg *tpg = pending_req->v2p->tpg; in scsiback_device_action() local
600 transport_init_se_cmd(se_cmd, tpg->se_tpg.se_tpg_tfo, in scsiback_device_action()
601 tpg->tpg_nexus->tvn_se_sess, 0, DMA_NONE, TCM_SIMPLE_TAG, in scsiback_device_action()
865 struct scsiback_tpg *tpg_entry, *tpg = NULL; in scsiback_add_translation_entry() local
891 tpg = tpg_entry; in scsiback_add_translation_entry()
899 if (tpg) { in scsiback_add_translation_entry()
900 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
901 tpg->tv_tpg_fe_count++; in scsiback_add_translation_entry()
902 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
906 if (!tpg) { in scsiback_add_translation_entry()
934 new->tpg = tpg; in scsiback_add_translation_entry()
943 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
944 tpg->tv_tpg_fe_count--; in scsiback_add_translation_entry()
945 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_add_translation_entry()
1257 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_fabric_wwn() local
1259 struct scsiback_tport *tport = tpg->tport; in scsiback_get_fabric_wwn()
1266 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_tag() local
1268 return tpg->tport_tpgt; in scsiback_get_tag()
1444 struct scsiback_tpg *tpg = container_of(se_tpg, struct scsiback_tpg, in scsiback_tpg_param_alias_show() local
1448 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_show()
1449 rb = snprintf(page, PAGE_SIZE, "%s\n", tpg->param_alias); in scsiback_tpg_param_alias_show()
1450 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_show()
1459 struct scsiback_tpg *tpg = container_of(se_tpg, struct scsiback_tpg, in scsiback_tpg_param_alias_store() local
1469 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_store()
1470 len = snprintf(tpg->param_alias, VSCSI_NAMELEN, "%s", page); in scsiback_tpg_param_alias_store()
1471 if (tpg->param_alias[len - 1] == '\n') in scsiback_tpg_param_alias_store()
1472 tpg->param_alias[len - 1] = '\0'; in scsiback_tpg_param_alias_store()
1473 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_alias_store()
1485 static int scsiback_make_nexus(struct scsiback_tpg *tpg, in scsiback_make_nexus() argument
1492 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1493 if (tpg->tpg_nexus) { in scsiback_make_nexus()
1494 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1498 se_tpg = &tpg->se_tpg; in scsiback_make_nexus()
1502 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1510 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1523 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1531 tpg->tpg_nexus = tv_nexus; in scsiback_make_nexus()
1533 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1542 static int scsiback_drop_nexus(struct scsiback_tpg *tpg) in scsiback_drop_nexus() argument
1547 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1548 tv_nexus = tpg->tpg_nexus; in scsiback_drop_nexus()
1550 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1556 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1560 if (tpg->tv_tpg_port_count != 0) { in scsiback_drop_nexus()
1561 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1563 tpg->tv_tpg_port_count); in scsiback_drop_nexus()
1567 if (tpg->tv_tpg_fe_count != 0) { in scsiback_drop_nexus()
1568 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1570 tpg->tv_tpg_fe_count); in scsiback_drop_nexus()
1575 scsiback_dump_proto_id(tpg->tport), in scsiback_drop_nexus()
1582 tpg->tpg_nexus = NULL; in scsiback_drop_nexus()
1583 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1592 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_tpg_nexus_show() local
1597 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_nexus_show()
1598 tv_nexus = tpg->tpg_nexus; in scsiback_tpg_nexus_show()
1600 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_nexus_show()
1605 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_nexus_show()
1614 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_tpg_nexus_store() local
1616 struct scsiback_tport *tport_wwn = tpg->tport; in scsiback_tpg_nexus_store()
1623 ret = scsiback_drop_nexus(tpg); in scsiback_tpg_nexus_store()
1678 ret = scsiback_make_nexus(tpg, port_ptr); in scsiback_tpg_nexus_store()
1715 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_port_link() local
1718 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_port_link()
1719 tpg->tv_tpg_port_count++; in scsiback_port_link()
1720 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_port_link()
1728 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_port_unlink() local
1731 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_port_unlink()
1732 tpg->tv_tpg_port_count--; in scsiback_port_unlink()
1733 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_port_unlink()
1744 struct scsiback_tpg *tpg; in scsiback_make_tpg() local
1754 tpg = kzalloc(sizeof(struct scsiback_tpg), GFP_KERNEL); in scsiback_make_tpg()
1755 if (!tpg) in scsiback_make_tpg()
1758 mutex_init(&tpg->tv_tpg_mutex); in scsiback_make_tpg()
1759 INIT_LIST_HEAD(&tpg->tv_tpg_list); in scsiback_make_tpg()
1760 INIT_LIST_HEAD(&tpg->info_list); in scsiback_make_tpg()
1761 tpg->tport = tport; in scsiback_make_tpg()
1762 tpg->tport_tpgt = tpgt; in scsiback_make_tpg()
1764 ret = core_tpg_register(wwn, &tpg->se_tpg, tport->tport_proto_id); in scsiback_make_tpg()
1766 kfree(tpg); in scsiback_make_tpg()
1770 list_add_tail(&tpg->tv_tpg_list, &scsiback_list); in scsiback_make_tpg()
1773 return &tpg->se_tpg; in scsiback_make_tpg()
1778 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_drop_tpg() local
1782 list_del(&tpg->tv_tpg_list); in scsiback_drop_tpg()
1787 scsiback_drop_nexus(tpg); in scsiback_drop_tpg()
1792 kfree(tpg); in scsiback_drop_tpg()