Lines Matching refs:tpg

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