Lines Matching refs:tpg
86 struct scsiback_tpg *tpg; /* translate to */ member
270 struct scsiback_tpg *tpg = pending_req->v2p->tpg; in scsiback_print_status() local
273 tpg->tport->tport_name, pending_req->v2p->lun, in scsiback_print_status()
322 struct scsiback_tpg *tpg = entry->tpg; in scsiback_free_translation_entry() local
324 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_free_translation_entry()
325 tpg->tv_tpg_fe_count--; in scsiback_free_translation_entry()
326 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_free_translation_entry()
395 struct se_session *sess = pending_req->v2p->tpg->tpg_nexus->tvn_se_sess; in scsiback_cmd_exec()
596 struct scsiback_tpg *tpg = pending_req->v2p->tpg; in scsiback_device_action() local
606 transport_init_se_cmd(se_cmd, tpg->se_tpg.se_tpg_tfo, in scsiback_device_action()
607 tpg->tpg_nexus->tvn_se_sess, 0, DMA_NONE, TCM_SIMPLE_TAG, in scsiback_device_action()
870 struct scsiback_tpg *tpg_entry, *tpg = NULL; in scsiback_add_translation_entry() local
895 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()
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()
1259 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_fabric_proto_ident() local
1261 struct scsiback_tport *tport = tpg->tport; in scsiback_get_fabric_proto_ident()
1281 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_fabric_wwn() local
1283 struct scsiback_tport *tport = tpg->tport; in scsiback_get_fabric_wwn()
1290 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_tag() local
1292 return tpg->tport_tpgt; in scsiback_get_tag()
1307 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_pr_transport_id() local
1309 struct scsiback_tport *tport = tpg->tport; in scsiback_get_pr_transport_id()
1337 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_get_pr_transport_id_len() local
1339 struct scsiback_tport *tport = tpg->tport; in scsiback_get_pr_transport_id_len()
1367 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_parse_pr_out_transport_id() local
1369 struct scsiback_tport *tport = tpg->tport; in scsiback_parse_pr_out_transport_id()
1584 struct scsiback_tpg *tpg = container_of(se_tpg, struct scsiback_tpg, in scsiback_tpg_param_show_alias() local
1588 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_show_alias()
1589 rb = snprintf(page, PAGE_SIZE, "%s\n", tpg->param_alias); in scsiback_tpg_param_show_alias()
1590 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_show_alias()
1598 struct scsiback_tpg *tpg = container_of(se_tpg, struct scsiback_tpg, in scsiback_tpg_param_store_alias() local
1608 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_store_alias()
1609 len = snprintf(tpg->param_alias, VSCSI_NAMELEN, "%s", page); in scsiback_tpg_param_store_alias()
1610 if (tpg->param_alias[len - 1] == '\n') in scsiback_tpg_param_store_alias()
1611 tpg->param_alias[len - 1] = '\0'; in scsiback_tpg_param_store_alias()
1612 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_param_store_alias()
1624 static int scsiback_make_nexus(struct scsiback_tpg *tpg, in scsiback_make_nexus() argument
1631 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1632 if (tpg->tpg_nexus) { in scsiback_make_nexus()
1633 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1637 se_tpg = &tpg->se_tpg; in scsiback_make_nexus()
1641 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1649 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1662 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1670 tpg->tpg_nexus = tv_nexus; in scsiback_make_nexus()
1672 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_make_nexus()
1681 static int scsiback_drop_nexus(struct scsiback_tpg *tpg) in scsiback_drop_nexus() argument
1686 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1687 tv_nexus = tpg->tpg_nexus; in scsiback_drop_nexus()
1689 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1695 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1699 if (tpg->tv_tpg_port_count != 0) { in scsiback_drop_nexus()
1700 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1702 tpg->tv_tpg_port_count); in scsiback_drop_nexus()
1706 if (tpg->tv_tpg_fe_count != 0) { in scsiback_drop_nexus()
1707 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1709 tpg->tv_tpg_fe_count); in scsiback_drop_nexus()
1714 scsiback_dump_proto_id(tpg->tport), in scsiback_drop_nexus()
1721 tpg->tpg_nexus = NULL; in scsiback_drop_nexus()
1722 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_drop_nexus()
1731 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_tpg_show_nexus() local
1736 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_tpg_show_nexus()
1737 tv_nexus = tpg->tpg_nexus; in scsiback_tpg_show_nexus()
1739 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_show_nexus()
1744 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_tpg_show_nexus()
1753 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_tpg_store_nexus() local
1755 struct scsiback_tport *tport_wwn = tpg->tport; in scsiback_tpg_store_nexus()
1762 ret = scsiback_drop_nexus(tpg); in scsiback_tpg_store_nexus()
1817 ret = scsiback_make_nexus(tpg, port_ptr); in scsiback_tpg_store_nexus()
1855 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_port_link() local
1858 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_port_link()
1859 tpg->tv_tpg_port_count++; in scsiback_port_link()
1860 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_port_link()
1868 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_port_unlink() local
1871 mutex_lock(&tpg->tv_tpg_mutex); in scsiback_port_unlink()
1872 tpg->tv_tpg_port_count--; in scsiback_port_unlink()
1873 mutex_unlock(&tpg->tv_tpg_mutex); in scsiback_port_unlink()
1884 struct scsiback_tpg *tpg; in scsiback_make_tpg() local
1894 tpg = kzalloc(sizeof(struct scsiback_tpg), GFP_KERNEL); in scsiback_make_tpg()
1895 if (!tpg) in scsiback_make_tpg()
1898 mutex_init(&tpg->tv_tpg_mutex); in scsiback_make_tpg()
1899 INIT_LIST_HEAD(&tpg->tv_tpg_list); in scsiback_make_tpg()
1900 INIT_LIST_HEAD(&tpg->info_list); in scsiback_make_tpg()
1901 tpg->tport = tport; in scsiback_make_tpg()
1902 tpg->tport_tpgt = tpgt; in scsiback_make_tpg()
1905 &tpg->se_tpg, tpg, TRANSPORT_TPG_TYPE_NORMAL); in scsiback_make_tpg()
1907 kfree(tpg); in scsiback_make_tpg()
1911 list_add_tail(&tpg->tv_tpg_list, &scsiback_list); in scsiback_make_tpg()
1914 return &tpg->se_tpg; in scsiback_make_tpg()
1919 struct scsiback_tpg *tpg = container_of(se_tpg, in scsiback_drop_tpg() local
1923 list_del(&tpg->tv_tpg_list); in scsiback_drop_tpg()
1928 scsiback_drop_nexus(tpg); in scsiback_drop_tpg()
1933 kfree(tpg); in scsiback_drop_tpg()