tl_tpg
tl_hba = tl_tpg->tl_hba;
tpgt = tl_tpg->tl_tpgt;
tcm_loop_drop_nexus(tl_tpg);
tl_tpg->tl_hba = NULL;
tl_tpg->tl_tpgt = 0;
struct tcm_loop_tpg *tl_tpg;
tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id];
if (!tl_tpg->tl_hba) {
if (tl_tpg->tl_transport_status == TCM_TRANSPORT_OFFLINE) {
tl_nexus = tl_tpg->tl_nexus;
static int tcm_loop_issue_tmr(struct tcm_loop_tpg *tl_tpg,
tl_nexus = tl_tpg->tl_nexus;
se_sess = tl_tpg->tl_nexus->se_sess;
struct tcm_loop_tpg *tl_tpg;
tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id];
ret = tcm_loop_issue_tmr(tl_tpg, sc->device->lun,
struct tcm_loop_tpg *tl_tpg;
tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id];
ret = tcm_loop_issue_tmr(tl_tpg, sc->device->lun,
struct tcm_loop_tpg *tl_tpg;
tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id];
if (!tl_tpg)
ret = tcm_loop_issue_tmr(tl_tpg, sc->device->lun, 0, TMR_LUN_RESET);
tl_tpg->tl_transport_status = TCM_TRANSPORT_ONLINE;
return &tl_tpg(se_tpg)->tl_hba->tl_wwn_address[0];
return tl_tpg(se_tpg)->tl_tpgt;
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg, struct tcm_loop_tpg,
return tl_tpg->tl_fabric_prot_type;
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg,
struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba;
atomic_inc_mb(&tl_tpg->tl_tpg_port_count);
scsi_add_device(tl_hba->sh, 0, tl_tpg->tl_tpgt, lun->unpacked_lun);
struct tcm_loop_tpg *tl_tpg;
tl_tpg = container_of(se_tpg, struct tcm_loop_tpg, tl_se_tpg);
tl_hba = tl_tpg->tl_hba;
sd = scsi_device_lookup(tl_hba->sh, 0, tl_tpg->tl_tpgt,
0, tl_tpg->tl_tpgt, se_lun->unpacked_lun);
atomic_dec_mb(&tl_tpg->tl_tpg_port_count);
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg, struct tcm_loop_tpg,
return sprintf(page, "%d\n", tl_tpg->tl_fabric_prot_type);
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg, struct tcm_loop_tpg,
tl_tpg->tl_fabric_prot_type = val;
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg,
tl_tpg->tl_nexus = p;
struct tcm_loop_tpg *tl_tpg,
struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba;
if (tl_tpg->tl_nexus) {
tl_nexus->se_sess = target_setup_session(&tl_tpg->tl_se_tpg, 0, 0,
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg,
tl_nexus = tl_tpg->tl_nexus;
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg,
struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba;
ret = tcm_loop_drop_nexus(tl_tpg);
ret = tcm_loop_make_nexus(tl_tpg, port_ptr);
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg,
switch (tl_tpg->tl_transport_status) {
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg,
tl_tpg->tl_transport_status = TCM_TRANSPORT_ONLINE;
tl_tpg->tl_transport_status = TCM_TRANSPORT_OFFLINE;
if (tl_tpg->tl_nexus) {
struct se_session *tl_sess = tl_tpg->tl_nexus->se_sess;
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg,
struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba;
tl_hba->sh->host_no, tl_tpg->tl_tpgt);
struct tcm_loop_tpg *tl_tpg;
tl_tpg = &tl_hba->tl_hba_tpgs[tpgt];
tl_tpg->tl_hba = tl_hba;
tl_tpg->tl_tpgt = tpgt;
ret = core_tpg_register(wwn, &tl_tpg->tl_se_tpg, tl_hba->tl_proto_id);
return &tl_tpg->tl_se_tpg;
struct tcm_loop_tpg *tl_tpg = container_of(se_tpg,