scsi: target: core: Use RTPI from target port
Replace all references to RTPI from LUN field to se_portal_group field. It introduces consistent reporting of RTPI for all LUNs and all target ports. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com> Signed-off-by: Dmitry Bogdanov <d.bogdanov@yadro.com> Link: https://lore.kernel.org/r/20230301084512.21956-3-d.bogdanov@yadro.com Reviewed-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
3f4b9cb413
commit
b9e063adfb
@ -225,7 +225,7 @@ target_emulate_report_target_port_groups(struct se_cmd *cmd)
|
|||||||
/*
|
/*
|
||||||
* Set RELATIVE TARGET PORT IDENTIFIER
|
* Set RELATIVE TARGET PORT IDENTIFIER
|
||||||
*/
|
*/
|
||||||
put_unaligned_be16(lun->lun_rtpi, &buf[off]);
|
put_unaligned_be16(lun->lun_tpg->tpg_rtpi, &buf[off]);
|
||||||
off += 2;
|
off += 2;
|
||||||
rd_len += 4;
|
rd_len += 4;
|
||||||
}
|
}
|
||||||
@ -399,7 +399,7 @@ target_emulate_set_target_port_groups(struct se_cmd *cmd)
|
|||||||
spin_lock(&dev->se_port_lock);
|
spin_lock(&dev->se_port_lock);
|
||||||
list_for_each_entry(lun, &dev->dev_sep_list,
|
list_for_each_entry(lun, &dev->dev_sep_list,
|
||||||
lun_dev_link) {
|
lun_dev_link) {
|
||||||
if (lun->lun_rtpi != rtpi)
|
if (lun->lun_tpg->tpg_rtpi != rtpi)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// XXX: racy unlock
|
// XXX: racy unlock
|
||||||
|
@ -223,7 +223,7 @@ struct se_dev_entry *core_get_se_deve_from_rtpi(
|
|||||||
tpg->se_tpg_tfo->fabric_name);
|
tpg->se_tpg_tfo->fabric_name);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (lun->lun_rtpi != rtpi)
|
if (lun->lun_tpg->tpg_rtpi != rtpi)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
kref_get(&deve->pr_kref);
|
kref_get(&deve->pr_kref);
|
||||||
|
@ -663,7 +663,7 @@ static struct t10_pr_registration *__core_scsi3_do_alloc_registration(
|
|||||||
}
|
}
|
||||||
pr_reg->pr_res_mapped_lun = mapped_lun;
|
pr_reg->pr_res_mapped_lun = mapped_lun;
|
||||||
pr_reg->pr_aptpl_target_lun = lun->unpacked_lun;
|
pr_reg->pr_aptpl_target_lun = lun->unpacked_lun;
|
||||||
pr_reg->tg_pt_sep_rtpi = lun->lun_rtpi;
|
pr_reg->tg_pt_sep_rtpi = lun->lun_tpg->tpg_rtpi;
|
||||||
pr_reg->pr_res_key = sa_res_key;
|
pr_reg->pr_res_key = sa_res_key;
|
||||||
pr_reg->pr_reg_all_tg_pt = all_tg_pt;
|
pr_reg->pr_reg_all_tg_pt = all_tg_pt;
|
||||||
pr_reg->pr_reg_aptpl = aptpl;
|
pr_reg->pr_reg_aptpl = aptpl;
|
||||||
@ -967,7 +967,7 @@ static int __core_scsi3_check_aptpl_registration(
|
|||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
|
|
||||||
pr_reg->pr_reg_nacl = nacl;
|
pr_reg->pr_reg_nacl = nacl;
|
||||||
pr_reg->tg_pt_sep_rtpi = lun->lun_rtpi;
|
pr_reg->tg_pt_sep_rtpi = lun->lun_tpg->tpg_rtpi;
|
||||||
list_del(&pr_reg->pr_reg_aptpl_list);
|
list_del(&pr_reg->pr_reg_aptpl_list);
|
||||||
spin_unlock(&pr_tmpl->aptpl_reg_lock);
|
spin_unlock(&pr_tmpl->aptpl_reg_lock);
|
||||||
/*
|
/*
|
||||||
@ -1567,7 +1567,7 @@ core_scsi3_decode_spec_i_port(
|
|||||||
*/
|
*/
|
||||||
if (tmp_tpg->proto_id != proto_ident)
|
if (tmp_tpg->proto_id != proto_ident)
|
||||||
continue;
|
continue;
|
||||||
dest_rtpi = tmp_lun->lun_rtpi;
|
dest_rtpi = tmp_lun->lun_tpg->tpg_rtpi;
|
||||||
|
|
||||||
iport_ptr = NULL;
|
iport_ptr = NULL;
|
||||||
i_str = target_parse_pr_out_transport_id(tmp_tpg,
|
i_str = target_parse_pr_out_transport_id(tmp_tpg,
|
||||||
@ -3225,7 +3225,7 @@ core_scsi3_emulate_pro_register_and_move(struct se_cmd *cmd, u64 res_key,
|
|||||||
|
|
||||||
spin_lock(&dev->se_port_lock);
|
spin_lock(&dev->se_port_lock);
|
||||||
list_for_each_entry(tmp_lun, &dev->dev_sep_list, lun_dev_link) {
|
list_for_each_entry(tmp_lun, &dev->dev_sep_list, lun_dev_link) {
|
||||||
if (tmp_lun->lun_rtpi != rtpi)
|
if (tmp_lun->lun_tpg->tpg_rtpi != rtpi)
|
||||||
continue;
|
continue;
|
||||||
dest_se_tpg = tmp_lun->lun_tpg;
|
dest_se_tpg = tmp_lun->lun_tpg;
|
||||||
dest_tf_ops = dest_se_tpg->se_tpg_tfo;
|
dest_tf_ops = dest_se_tpg->se_tpg_tfo;
|
||||||
|
@ -317,7 +317,7 @@ check_t10_vend_desc:
|
|||||||
/* Skip over Obsolete field in RTPI payload
|
/* Skip over Obsolete field in RTPI payload
|
||||||
* in Table 472 */
|
* in Table 472 */
|
||||||
off += 2;
|
off += 2;
|
||||||
put_unaligned_be16(lun->lun_rtpi, &buf[off]);
|
put_unaligned_be16(lun->lun_tpg->tpg_rtpi, &buf[off]);
|
||||||
off += 2;
|
off += 2;
|
||||||
len += 8; /* Header size + Designation descriptor */
|
len += 8; /* Header size + Designation descriptor */
|
||||||
/*
|
/*
|
||||||
|
@ -455,7 +455,7 @@ static ssize_t target_stat_port_indx_show(struct config_item *item, char *page)
|
|||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
dev = rcu_dereference(lun->lun_se_dev);
|
dev = rcu_dereference(lun->lun_se_dev);
|
||||||
if (dev)
|
if (dev)
|
||||||
ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_rtpi);
|
ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_tpg->tpg_rtpi);
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -561,7 +561,7 @@ static ssize_t target_stat_tgt_port_indx_show(struct config_item *item,
|
|||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
dev = rcu_dereference(lun->lun_se_dev);
|
dev = rcu_dereference(lun->lun_se_dev);
|
||||||
if (dev)
|
if (dev)
|
||||||
ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_rtpi);
|
ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_tpg->tpg_rtpi);
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -579,7 +579,7 @@ static ssize_t target_stat_tgt_port_name_show(struct config_item *item,
|
|||||||
if (dev)
|
if (dev)
|
||||||
ret = snprintf(page, PAGE_SIZE, "%sPort#%u\n",
|
ret = snprintf(page, PAGE_SIZE, "%sPort#%u\n",
|
||||||
tpg->se_tpg_tfo->fabric_name,
|
tpg->se_tpg_tfo->fabric_name,
|
||||||
lun->lun_rtpi);
|
lun->lun_tpg->tpg_rtpi);
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user