Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Roman Bolshakov and committed by
Martin K. Petersen
b9e063ad 3f4b9cb4

+11 -11
+2 -2
drivers/target/target_core_alua.c
··· 225 225 /* 226 226 * Set RELATIVE TARGET PORT IDENTIFIER 227 227 */ 228 - put_unaligned_be16(lun->lun_rtpi, &buf[off]); 228 + put_unaligned_be16(lun->lun_tpg->tpg_rtpi, &buf[off]); 229 229 off += 2; 230 230 rd_len += 4; 231 231 } ··· 399 399 spin_lock(&dev->se_port_lock); 400 400 list_for_each_entry(lun, &dev->dev_sep_list, 401 401 lun_dev_link) { 402 - if (lun->lun_rtpi != rtpi) 402 + if (lun->lun_tpg->tpg_rtpi != rtpi) 403 403 continue; 404 404 405 405 // XXX: racy unlock
+1 -1
drivers/target/target_core_device.c
··· 223 223 tpg->se_tpg_tfo->fabric_name); 224 224 continue; 225 225 } 226 - if (lun->lun_rtpi != rtpi) 226 + if (lun->lun_tpg->tpg_rtpi != rtpi) 227 227 continue; 228 228 229 229 kref_get(&deve->pr_kref);
+4 -4
drivers/target/target_core_pr.c
··· 663 663 } 664 664 pr_reg->pr_res_mapped_lun = mapped_lun; 665 665 pr_reg->pr_aptpl_target_lun = lun->unpacked_lun; 666 - pr_reg->tg_pt_sep_rtpi = lun->lun_rtpi; 666 + pr_reg->tg_pt_sep_rtpi = lun->lun_tpg->tpg_rtpi; 667 667 pr_reg->pr_res_key = sa_res_key; 668 668 pr_reg->pr_reg_all_tg_pt = all_tg_pt; 669 669 pr_reg->pr_reg_aptpl = aptpl; ··· 967 967 rcu_read_unlock(); 968 968 969 969 pr_reg->pr_reg_nacl = nacl; 970 - pr_reg->tg_pt_sep_rtpi = lun->lun_rtpi; 970 + pr_reg->tg_pt_sep_rtpi = lun->lun_tpg->tpg_rtpi; 971 971 list_del(&pr_reg->pr_reg_aptpl_list); 972 972 spin_unlock(&pr_tmpl->aptpl_reg_lock); 973 973 /* ··· 1567 1567 */ 1568 1568 if (tmp_tpg->proto_id != proto_ident) 1569 1569 continue; 1570 - dest_rtpi = tmp_lun->lun_rtpi; 1570 + dest_rtpi = tmp_lun->lun_tpg->tpg_rtpi; 1571 1571 1572 1572 iport_ptr = NULL; 1573 1573 i_str = target_parse_pr_out_transport_id(tmp_tpg, ··· 3225 3225 3226 3226 spin_lock(&dev->se_port_lock); 3227 3227 list_for_each_entry(tmp_lun, &dev->dev_sep_list, lun_dev_link) { 3228 - if (tmp_lun->lun_rtpi != rtpi) 3228 + if (tmp_lun->lun_tpg->tpg_rtpi != rtpi) 3229 3229 continue; 3230 3230 dest_se_tpg = tmp_lun->lun_tpg; 3231 3231 dest_tf_ops = dest_se_tpg->se_tpg_tfo;
+1 -1
drivers/target/target_core_spc.c
··· 317 317 /* Skip over Obsolete field in RTPI payload 318 318 * in Table 472 */ 319 319 off += 2; 320 - put_unaligned_be16(lun->lun_rtpi, &buf[off]); 320 + put_unaligned_be16(lun->lun_tpg->tpg_rtpi, &buf[off]); 321 321 off += 2; 322 322 len += 8; /* Header size + Designation descriptor */ 323 323 /*
+3 -3
drivers/target/target_core_stat.c
··· 455 455 rcu_read_lock(); 456 456 dev = rcu_dereference(lun->lun_se_dev); 457 457 if (dev) 458 - ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_rtpi); 458 + ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_tpg->tpg_rtpi); 459 459 rcu_read_unlock(); 460 460 return ret; 461 461 } ··· 561 561 rcu_read_lock(); 562 562 dev = rcu_dereference(lun->lun_se_dev); 563 563 if (dev) 564 - ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_rtpi); 564 + ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_tpg->tpg_rtpi); 565 565 rcu_read_unlock(); 566 566 return ret; 567 567 } ··· 579 579 if (dev) 580 580 ret = snprintf(page, PAGE_SIZE, "%sPort#%u\n", 581 581 tpg->se_tpg_tfo->fabric_name, 582 - lun->lun_rtpi); 582 + lun->lun_tpg->tpg_rtpi); 583 583 rcu_read_unlock(); 584 584 return ret; 585 585 }