target: drop unnecessary get_fabric_name() accessor from fabric_ops
Subsystems (12)
PATCH 2/3 target: drop unnecessary get_fabric_name() accessor from fabric_ops
All fabrics return a const string. In all cases *except* iSCSI the get_fabric_name() string matches fabric_ops.name.
Both fabric_ops.get_fabric_name() and fabric_ops.name are user facing, with the former being used for PR/ALUA state and the latter for configFS (config/target/$name), so we unfortunately need to keep both strings around for now.
Replace the useless .get_fabric_name() accessor function with a const string fabric_name member variable.
--- drivers/infiniband/ulp/srpt/ib_srpt.c | 7 +-- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 7 +-- drivers/scsi/qla2xxx/tcm_qla2xxx.c | 14 +---- drivers/target/iscsi/iscsi_target_configfs.c | 7 +-- drivers/target/loopback/tcm_loop.c | 7 +-- drivers/target/sbp/sbp_target.c | 7 +-- drivers/target/target_core_alua.c | 6 +- drivers/target/target_core_configfs.c | 18 +++--- drivers/target/target_core_device.c | 26 ++++---- drivers/target/target_core_fabric_configfs.c | 2 +- drivers/target/target_core_pr.c | 88 ++++++++++++++-------------- drivers/target/target_core_stat.c | 4 +- drivers/target/target_core_tmr.c | 4 +- drivers/target/target_core_tpg.c | 22 +++---- drivers/target/target_core_transport.c | 10 ++-- drivers/target/target_core_ua.c | 4 +- drivers/target/target_core_xcopy.c | 7 +-- drivers/target/tcm_fc/tfc_conf.c | 7 +-- drivers/usb/gadget/function/f_tcm.c | 7 +-- drivers/vhost/scsi.c | 7 +-- drivers/xen/xen-scsiback.c | 7 +-- include/target/target_core_fabric.h | 6 +- 22 files changed, 109 insertions(+), 165 deletions(-)
drivers/infiniband/ulp/srpt/ib_srpt.c +1 -6
@@ -3147,11 +3147,6 @@ static int srpt_check_false(struct se_portal_group *se_tpg)return 0 ; } -static char *srpt_get_fabric_name (void ) -{ -return "srpt" ; -} -static struct srpt_port *srpt_tpg_to_sport (struct se_portal_group *tpg) {return tpg->se_tpg_wwn->priv;
@@ -3679,7 +3674,7 @@ static struct configfs_attribute *srpt_wwn_attrs[] = {static const struct target_core_fabric_ops srpt_template = { .module =THIS_MODULE , .name ="srpt" , - .get_fabric_name = srpt_get_fabric_name, + .fabric_name ="srpt" , .tpg_get_wwn = srpt_get_fabric_wwn, .tpg_get_tag = srpt_get_tag, .tpg_check_demo_mode = srpt_check_false,
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c +0 -5
@@ -3695,11 +3695,6 @@ static int ibmvscsis_get_system_info(void)return 0 ; } -static char *ibmvscsis_get_fabric_name (void ) -{ -return "ibmvscsis" ; -} -static char *ibmvscsis_get_fabric_wwn (struct se_portal_group *se_tpg) { struct ibmvscsis_tport *tport @@ -4045,8 +4040,8 @@ static struct configfs_attribute *ibmvscsis_tpg_attrs[] = {
static const struct target_core_fabric_ops ibmvscsis_ops = {
.module = THIS_MODULE,
.name = "ibmvscsis",
+ .fabric_name = "ibmvscsis",
.max_data_sg_nents = MAX_TXU / PAGE_SIZE,
- .get_fabric_name = ibmvscsis_get_fabric_name,
.tpg_get_wwn = ibmvscsis_get_fabric_wwn,
.tpg_get_tag = ibmvscsis_get_tag,
.tpg_get_default_depth = ibmvscsis_get_default_depth,
drivers/scsi/qla2xxx/tcm_qla2xxx.c +2 -12
@@ -108,11 +108,6 @@ static ssize_t tcm_qla2xxx_format_wwn(char *buf, size_t len, u64 wwn) b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7]); } -static char *tcm_qla2xxx_get_fabric_name (void ) -{ -return "qla2xxx" ; -} -/* * From drivers/scsi/scsi_transport_fc.c:fc_parse_wwn */
@@ -178,11 +173,6 @@ static int tcm_qla2xxx_npiv_parse_wwn(return 0 ; } -static char *tcm_qla2xxx_npiv_get_fabric_name (void ) -{ -return "qla2xxx_npiv" ; -} -static char *tcm_qla2xxx_get_fabric_wwn (struct se_portal_group *se_tpg) { struct tcm_qla2xxx_tpg *tpg = container_of(se_tpg,
@@ -1921,13 +1911,13 @@ static struct configfs_attribute *tcm_qla2xxx_wwn_attrs[] = {static const struct target_core_fabric_ops tcm_qla2xxx_ops = { .module =THIS_MODULE , .name ="qla2xxx" , + .fabric_name ="qla2xxx" , .node_acl_size =sizeof (struct tcm_qla2xxx_nacl ),/* * XXX: Limit assumes single page per scatter-gather-list entry. * Current maximum is ~4.9 MB per se_cmd->t_data_sg with PAGE_SIZE@96 */ .max_data_sg_nents =1200 , - .get_fabric_name = tcm_qla2xxx_get_fabric_name, .tpg_get_wwn = tcm_qla2xxx_get_fabric_wwn, .tpg_get_tag = tcm_qla2xxx_get_tag, .tpg_check_demo_mode = tcm_qla2xxx_check_demo_mode,
@@ -1970,8 +1960,8 @@ static const struct target_core_fabric_ops tcm_qla2xxx_ops = {static const struct target_core_fabric_ops tcm_qla2xxx_npiv_ops = { .module =THIS_MODULE , .name ="qla2xxx_npiv" , + .fabric_name ="qla2xxx_npiv" , .node_acl_size =sizeof (struct tcm_qla2xxx_nacl ), - .get_fabric_name = tcm_qla2xxx_npiv_get_fabric_name, .tpg_get_wwn = tcm_qla2xxx_get_fabric_wwn, .tpg_get_tag = tcm_qla2xxx_get_tag, .tpg_check_demo_mode = tcm_qla2xxx_check_demo_mode,
drivers/target/iscsi/iscsi_target_configfs.c +1 -6
@@ -1343,11 +1343,6 @@ static struct configfs_attribute *lio_target_discovery_auth_attrs[] = {/* Start functions for target_core_fabric_ops */ -static char *iscsi_get_fabric_name (void ) -{ -return "iSCSI" ; -} -static int iscsi_get_cmd_state (struct se_cmd *se_cmd) { struct iscsi_cmd *cmd = container_of(se_cmd, struct iscsi_cmd, se_cmd);
@@ -1550,8 +1545,8 @@ static void lio_release_cmd(struct se_cmd *se_cmd)const struct target_core_fabric_ops iscsi_ops = { .module =THIS_MODULE , .name ="iscsi" , + .fabric_name ="iSCSI" , .node_acl_size =sizeof (struct iscsi_node_acl ), - .get_fabric_name = iscsi_get_fabric_name, .tpg_get_wwn = lio_tpg_get_endpoint_wwn, .tpg_get_tag = lio_tpg_get_tag, .tpg_get_default_depth = lio_tpg_get_default_depth,
drivers/target/loopback/tcm_loop.c +1 -6
@@ -460,11 +460,6 @@ static void tcm_loop_release_core_bus(void)pr_debug ("Releasing TCM Loop Core BUS\n" ); } -static char *tcm_loop_get_fabric_name (void ) -{ -return "loopback" ; -} -static inline struct tcm_loop_tpg *tl_tpg (struct se_portal_group *se_tpg) { return container_of(se_tpg, struct tcm_loop_tpg, tl_se_tpg);
@@ -1150,7 +1145,7 @@ static struct configfs_attribute *tcm_loop_wwn_attrs[] = {static const struct target_core_fabric_ops loop_ops = { .module =THIS_MODULE , .name ="loopback" , - .get_fabric_name = tcm_loop_get_fabric_name, + .fabric_name ="loopback" , .tpg_get_wwn = tcm_loop_get_endpoint_wwn, .tpg_get_tag = tcm_loop_get_tag, .tpg_check_demo_mode = tcm_loop_check_demo_mode,
drivers/target/sbp/sbp_target.c +1 -6
@@ -1694,11 +1694,6 @@ static int sbp_check_false(struct se_portal_group *se_tpg)return 0 ; } -static char *sbp_get_fabric_name (void ) -{ -return "sbp" ; -} -static char *sbp_get_fabric_wwn (struct se_portal_group *se_tpg) { struct sbp_tpg *tpg = container_of(se_tpg, struct sbp_tpg, se_tpg);
@@ -2324,7 +2319,7 @@ static struct configfs_attribute *sbp_tpg_attrib_attrs[] = {static const struct target_core_fabric_ops sbp_ops = { .module =THIS_MODULE , .name ="sbp" , - .get_fabric_name = sbp_get_fabric_name, + .fabric_name ="sbp" , .tpg_get_wwn = sbp_get_fabric_wwn, .tpg_get_tag = sbp_get_tag, .tpg_check_demo_mode = sbp_check_true,
drivers/target/target_core_alua.c +3 -3
@@ -451,7 +451,7 @@ static inline void set_ascq(struct se_cmd *cmd, u8 alua_ascq)pr_debug ("[%s]: ALUA TG Port not available, " "SenseKey: NOT_READY, ASC/ASCQ: " "0x04/0x%02x\n" , - cmd->se_tfo->get_fabric_name (), alua_ascq); + cmd->se_tfo->fabric_name, alua_ascq); cmd->scsi_asc =0x04 ; cmd->scsi_ascq = alua_ascq;
@@ -1229,13 +1229,13 @@ static int core_alua_update_tpg_secondary_metadata(struct se_lun *lun)if (se_tpg->se_tpg_tfo->tpg_get_tag !=NULL ) { path =kasprintf (GFP_KERNEL ,"%s/alua/%s/%s+%hu/lun_%llu" , - db_root, se_tpg->se_tpg_tfo->get_fabric_name (), + db_root, se_tpg->se_tpg_tfo->fabric_name, se_tpg->se_tpg_tfo->tpg_get_wwn (se_tpg), se_tpg->se_tpg_tfo->tpg_get_tag (se_tpg), lun->unpacked_lun); }else { path =kasprintf (GFP_KERNEL ,"%s/alua/%s/%s/lun_%llu" , - db_root, se_tpg->se_tpg_tfo->get_fabric_name (), + db_root, se_tpg->se_tpg_tfo->fabric_name, se_tpg->se_tpg_tfo->tpg_get_wwn (se_tpg), lun->unpacked_lun); }
drivers/target/target_core_configfs.c +9 -9
@@ -351,8 +351,8 @@ static int target_fabric_tf_ops_check(const struct target_core_fabric_ops *tfo) "_NAME_SIZE\n", tfo->name);return -EINVAL ; } -if (!tfo->get_fabric_name) { -pr_err ("Missing tfo->get_fabric_name()\n" ); +if (!tfo->fabric_name) { +pr_err ("Missing tfo->fabric_name\n" );return -EINVAL ; }if (!tfo->tpg_get_wwn) {
@@ -1403,7 +1403,7 @@ static ssize_t target_core_dev_pr_show_spc3_res(struct se_device *dev,core_pr_dump_initiator_port (pr_reg, i_buf,PR_REG_ISID_ID_LEN );return sprintf (page,"SPC-3 Reservation: %s Initiator: %s%s\n" , - se_nacl->se_tpg->se_tpg_tfo->get_fabric_name (), + se_nacl->se_tpg->se_tpg_tfo->fabric_name, se_nacl->initiatorname, i_buf); }
@@ -1417,7 +1417,7 @@ static ssize_t target_core_dev_pr_show_spc2_res(struct se_device *dev,if (se_nacl) { len =sprintf (page,"SPC-2 Reservation: %s Initiator: %s\n" , - se_nacl->se_tpg->se_tpg_tfo->get_fabric_name (), + se_nacl->se_tpg->se_tpg_tfo->fabric_name, se_nacl->initiatorname); }else { len =sprintf (page,"No SPC-2 Reservation holder\n" );
@@ -1495,13 +1495,13 @@ static ssize_t target_pr_res_pr_holder_tg_port_show(struct config_item *item, tfo = se_tpg->se_tpg_tfo; len +=sprintf (page+len,"SPC-3 Reservation: %s" -" Target Node Endpoint: %s\n" , tfo->get_fabric_name (), +" Target Node Endpoint: %s\n" , tfo->fabric_name, tfo->tpg_get_wwn (se_tpg)); len +=sprintf (page+len,"SPC-3 Reservation: Relative Port" " Identifier Tag: %hu %s Portal Group Tag: %hu" " %s Logical Unit: %llu\n" , pr_reg->tg_pt_sep_rtpi, - tfo->get_fabric_name (), tfo->tpg_get_tag (se_tpg), - tfo->get_fabric_name (), pr_reg->pr_aptpl_target_lun); + tfo->fabric_name, tfo->tpg_get_tag (se_tpg), + tfo->fabric_name, pr_reg->pr_aptpl_target_lun); out_unlock:spin_unlock (&dev->dev_reservation_lock);
@@ -1532,7 +1532,7 @@ static ssize_t target_pr_res_pr_registered_i_pts_show(struct config_item *item,core_pr_dump_initiator_port (pr_reg, i_buf,PR_REG_ISID_ID_LEN );sprintf (buf,"%s Node: %s%s Key: 0x%016Lx PRgen: 0x%08x\n" , - tfo->get_fabric_name (), + tfo->fabric_name, pr_reg->pr_reg_nacl->initiatorname, i_buf, pr_reg->pr_res_key, pr_reg->pr_res_generation);
@@ -2757,7 +2757,7 @@ static ssize_t target_tg_pt_gp_members_show(struct config_item *item,struct se_portal_group *tpg = lun->lun_tpg; cur_len =snprintf (buf,TG_PT_GROUP_NAME_BUF ,"%s/%s/tpgt_%hu" -"/%s\n" , tpg->se_tpg_tfo->get_fabric_name (), +"/%s\n" , tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_wwn (tpg), tpg->se_tpg_tfo->tpg_get_tag (tpg),config_item_name (&lun->lun_group.cg_item));
drivers/target/target_core_device.c +13 -13
@@ -95,7 +95,7 @@ transport_lookup_cmd_lun(struct se_cmd *se_cmd, u64 unpacked_lun) deve->lun_access_ro) {pr_err ("TARGET_CORE[%s]: Detected WRITE_PROTECTED LUN" " Access for 0x%08llx\n" , - se_cmd->se_tfo->get_fabric_name (), + se_cmd->se_tfo->fabric_name, unpacked_lun);rcu_read_unlock (); ret =TCM_WRITE_PROTECTED ;
@@ -114,7 +114,7 @@ transport_lookup_cmd_lun(struct se_cmd *se_cmd, u64 unpacked_lun)if (unpacked_lun !=0 ) {pr_err ("TARGET_CORE[%s]: Detected NON_EXISTENT_LUN" " Access for 0x%08llx\n" , - se_cmd->se_tfo->get_fabric_name (), + se_cmd->se_tfo->fabric_name, unpacked_lun);return TCM_NON_EXISTENT_LUN ; }
@@ -188,7 +188,7 @@ int transport_lookup_tmr_lun(struct se_cmd *se_cmd, u64 unpacked_lun)if (!se_lun) {pr_debug ("TARGET_CORE[%s]: Detected NON_EXISTENT_LUN" " Access for 0x%08llx\n" , - se_cmd->se_tfo->get_fabric_name (), + se_cmd->se_tfo->fabric_name, unpacked_lun);return -ENODEV ; }
@@ -237,7 +237,7 @@ struct se_dev_entry *core_get_se_deve_from_rtpi(if (!lun) {pr_err ("%s device entries device pointer is" " NULL, but Initiator has access.\n" , - tpg->se_tpg_tfo->get_fabric_name ()); + tpg->se_tpg_tfo->fabric_name);continue ; }if (lun->lun_rtpi != rtpi)
@@ -571,9 +571,9 @@ int core_dev_add_lun(return rc;pr_debug ("%s_TPG[%u]_LUN[%llu] - Activated %s Logical Unit from" -" CORE HBA: %u\n" , tpg->se_tpg_tfo->get_fabric_name (), +" CORE HBA: %u\n" , tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg), lun->unpacked_lun, - tpg->se_tpg_tfo->get_fabric_name (), dev->se_hba->hba_id); + tpg->se_tpg_tfo->fabric_name, dev->se_hba->hba_id);/* * Update LUN maps for dynamically added initiators when * generate_node_acl is enabled.
@@ -604,9 +604,9 @@ void core_dev_del_lun( struct se_lun *lun) {pr_debug ("%s_TPG[%u]_LUN[%llu] - Deactivating %s Logical Unit from" -" device object\n" , tpg->se_tpg_tfo->get_fabric_name (), +" device object\n" , tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg), lun->unpacked_lun, - tpg->se_tpg_tfo->get_fabric_name ()); + tpg->se_tpg_tfo->fabric_name);core_tpg_remove_lun (tpg, lun); }
@@ -621,7 +621,7 @@ struct se_lun_acl *core_dev_init_initiator_node_lun_acl(if (strlen (nacl->initiatorname) >=TRANSPORT_IQN_LEN ) {pr_err ("%s InitiatorName exceeds maximum size.\n" , - tpg->se_tpg_tfo->get_fabric_name ()); + tpg->se_tpg_tfo->fabric_name); *ret = -EOVERFLOW ;return NULL ; }
@@ -664,7 +664,7 @@ int core_dev_add_initiator_node_lun_acl(return -EINVAL ;pr_debug ("%s_TPG[%hu]_LUN[%llu->%llu] - Added %s ACL for " -" InitiatorNode: %s\n" , tpg->se_tpg_tfo->get_fabric_name (), +" InitiatorNode: %s\n" , tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg), lun->unpacked_lun, lacl->mapped_lun, lun_access_ro ?"RO" :"RW" , nacl->initiatorname);
@@ -697,7 +697,7 @@ int core_dev_del_initiator_node_lun_acl(pr_debug ("%s_TPG[%hu]_LUN[%llu] - Removed ACL for" " InitiatorNode: %s Mapped LUN: %llu\n" , - tpg->se_tpg_tfo->get_fabric_name (), + tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg), lun->unpacked_lun, nacl->initiatorname, lacl->mapped_lun);
@@ -709,9 +709,9 @@ void core_dev_free_initiator_node_lun_acl( struct se_lun_acl *lacl) {pr_debug ("%s_TPG[%hu] - Freeing ACL for %s InitiatorNode: %s" -" Mapped LUN: %llu\n" , tpg->se_tpg_tfo->get_fabric_name (), +" Mapped LUN: %llu\n" , tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg), - tpg->se_tpg_tfo->get_fabric_name (), + tpg->se_tpg_tfo->fabric_name, lacl->se_lun_nacl->initiatorname, lacl->mapped_lun);kfree (lacl);
drivers/target/target_core_fabric_configfs.c +1 -1
@@ -203,7 +203,7 @@ static ssize_t target_fabric_mappedlun_write_protect_store(pr_debug ("%s_ConfigFS: Changed Initiator ACL: %s" " Mapped LUN: %llu Write Protect bit to %s\n" , - se_tpg->se_tpg_tfo->get_fabric_name (), + se_tpg->se_tpg_tfo->fabric_name, se_nacl->initiatorname, lacl->mapped_lun, (wp) ?"ON" :"OFF" );return count;
drivers/target/target_core_pr.c +44 -44
302 lines not on this page · raw message
drivers/target/target_core_stat.c +2 -2
@@ -612,7 +612,7 @@ static ssize_t target_stat_tgt_port_name_show(struct config_item *item, dev =rcu_dereference (lun->lun_se_dev);if (dev) ret =snprintf (page,PAGE_SIZE ,"%sPort#%u\n" , - tpg->se_tpg_tfo->get_fabric_name (), + tpg->se_tpg_tfo->fabric_name, lun->lun_rtpi);rcu_read_unlock ();return ret;
@@ -767,7 +767,7 @@ static ssize_t target_stat_transport_device_show(struct config_item *item,if (dev) {/* scsiTransportType */ ret =snprintf (page,PAGE_SIZE ,"scsiTransport%s\n" , - tpg->se_tpg_tfo->get_fabric_name ()); + tpg->se_tpg_tfo->fabric_name); }rcu_read_unlock ();return ret;
drivers/target/target_core_tmr.c +2 -2
@@ -163,7 +163,7 @@ void core_tmr_abort_task(continue ;printk ("ABORT_TASK: Found referenced %s task_tag: %llu\n" , - se_cmd->se_tfo->get_fabric_name (), ref_tag); + se_cmd->se_tfo->fabric_name, ref_tag);if (!__target_check_io_state (se_cmd, se_sess,0 ))continue ;
@@ -398,7 +398,7 @@ int core_tmr_lun_reset(if (tmr_nacl && tmr_tpg) {pr_debug ("LUN_RESET: TMR caller fabric: %s" " initiator port %s\n" , - tmr_tpg->se_tpg_tfo->get_fabric_name (), + tmr_tpg->se_tpg_tfo->fabric_name, tmr_nacl->initiatorname); } }
drivers/target/target_core_tpg.c +11 -11
@@ -151,7 +151,7 @@ void core_tpg_add_node_to_devs(pr_debug ("TARGET_CORE[%s]->TPG[%u]_LUN[%llu] - Adding %s" " access for LUN in Demo Mode\n" , - tpg->se_tpg_tfo->get_fabric_name (), + tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg), lun->unpacked_lun, lun_access_ro ?"READ-ONLY" :"READ-WRITE" );
@@ -176,7 +176,7 @@ target_set_nacl_queue_depth(struct se_portal_group *tpg,if (!acl->queue_depth) {pr_warn ("Queue depth for %s Initiator Node: %s is 0," -"defaulting to 1.\n" , tpg->se_tpg_tfo->get_fabric_name (), +"defaulting to 1.\n" , tpg->se_tpg_tfo->fabric_name, acl->initiatorname); acl->queue_depth =1 ; }
@@ -227,11 +227,11 @@ static void target_add_node_acl(struct se_node_acl *acl)pr_debug ("%s_TPG[%hu] - Added %s ACL with TCQ Depth: %d for %s" " Initiator Node: %s\n" , - tpg->se_tpg_tfo->get_fabric_name (), + tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg), acl->dynamic_node_acl ?"DYNAMIC" :"" , acl->queue_depth, - tpg->se_tpg_tfo->get_fabric_name (), + tpg->se_tpg_tfo->fabric_name, acl->initiatorname); }
@@ -313,7 +313,7 @@ struct se_node_acl *core_tpg_add_initiator_node_acl(if (acl->dynamic_node_acl) { acl->dynamic_node_acl =0 ;pr_debug ("%s_TPG[%u] - Replacing dynamic ACL" -" for %s\n" , tpg->se_tpg_tfo->get_fabric_name (), +" for %s\n" , tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg), initiatorname);mutex_unlock (&tpg->acl_node_mutex);return acl;
@@ -321,7 +321,7 @@ struct se_node_acl *core_tpg_add_initiator_node_acl(pr_err ("ACL entry for %s Initiator" " Node %s already exists for TPG %u, ignoring" -" request.\n" , tpg->se_tpg_tfo->get_fabric_name (), +" request.\n" , tpg->se_tpg_tfo->fabric_name, initiatorname, tpg->se_tpg_tfo->tpg_get_tag (tpg));mutex_unlock (&tpg->acl_node_mutex);return ERR_PTR (-EEXIST );
@@ -380,9 +380,9 @@ void core_tpg_del_initiator_node_acl(struct se_node_acl *acl)core_free_device_list_for_node (acl, tpg);pr_debug ("%s_TPG[%hu] - Deleted ACL with TCQ Depth: %d for %s" -" Initiator Node: %s\n" , tpg->se_tpg_tfo->get_fabric_name (), +" Initiator Node: %s\n" , tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg), acl->queue_depth, - tpg->se_tpg_tfo->get_fabric_name (), acl->initiatorname); + tpg->se_tpg_tfo->fabric_name, acl->initiatorname);kfree (acl); }
@@ -418,7 +418,7 @@ int core_tpg_set_initiator_node_queue_depth(pr_debug ("Successfully changed queue depth to: %d for Initiator" " Node: %s on %s Target Portal Group: %u\n" , acl->queue_depth, - acl->initiatorname, tpg->se_tpg_tfo->get_fabric_name (), + acl->initiatorname, tpg->se_tpg_tfo->fabric_name, tpg->se_tpg_tfo->tpg_get_tag (tpg));return 0 ;
@@ -512,7 +512,7 @@ int core_tpg_register(spin_unlock_bh (&tpg_lock);pr_debug ("TARGET_CORE[%s]: Allocated portal_group for endpoint: %s, " -"Proto: %d, Portal Tag: %u\n" , se_tpg->se_tpg_tfo->get_fabric_name (), +"Proto: %d, Portal Tag: %u\n" , se_tpg->se_tpg_tfo->fabric_name, se_tpg->se_tpg_tfo->tpg_get_wwn (se_tpg) ? se_tpg->se_tpg_tfo->tpg_get_wwn (se_tpg) :NULL , se_tpg->proto_id, se_tpg->se_tpg_tfo->tpg_get_tag (se_tpg));
@@ -528,7 +528,7 @@ int core_tpg_deregister(struct se_portal_group *se_tpg)LIST_HEAD (node_list);pr_debug ("TARGET_CORE[%s]: Deallocating portal_group for endpoint: %s, " -"Proto: %d, Portal Tag: %u\n" , tfo->get_fabric_name (), +"Proto: %d, Portal Tag: %u\n" , tfo->fabric_name, tfo->tpg_get_wwn (se_tpg) ? tfo->tpg_get_wwn (se_tpg) :NULL , se_tpg->proto_id, tfo->tpg_get_tag (se_tpg));
drivers/target/target_core_transport.c +5 -5
@@ -397,7 +397,7 @@ void __transport_register_session(list_add_tail (&se_sess->sess_list, &se_tpg->tpg_sess_list);pr_debug ("TARGET_CORE[%s]: Registered fabric_sess_ptr: %p\n" , - se_tpg->se_tpg_tfo->get_fabric_name (), se_sess->fabric_sess_ptr); + se_tpg->se_tpg_tfo->fabric_name, se_sess->fabric_sess_ptr); }EXPORT_SYMBOL (__transport_register_session);
@@ -602,7 +602,7 @@ void transport_deregister_session(struct se_session *se_sess)spin_unlock_irqrestore (&se_tpg->session_lock, flags);pr_debug ("TARGET_CORE[%s]: Deregistered fabric_sess\n" , - se_tpg->se_tpg_tfo->get_fabric_name ()); + se_tpg->se_tpg_tfo->fabric_name);/* * If last kref is dropping now for an explicit NodeACL, awake sleeping * ->acl_free_comp caller to wakeup configfs se_node_acl->acl_group
@@ -880,7 +880,7 @@ void target_qf_do_work(struct work_struct *work)atomic_dec_mb (&dev->dev_qf_count);pr_debug ("Processing %s cmd: %p QUEUE_FULL in work queue" -" context: %s\n" , cmd->se_tfo->get_fabric_name (), cmd, +" context: %s\n" , cmd->se_tfo->fabric_name, cmd, (cmd->t_state =TRANSPORT_COMPLETE_QF_OK ) ?"COMPLETE_OK" : (cmd->t_state =TRANSPORT_COMPLETE_QF_WP ) ?"WRITE_PENDING" :"UNKNOWN" );
@@ -1244,7 +1244,7 @@ target_cmd_size_check(struct se_cmd *cmd, unsigned int size) }else if (size != cmd->data_length) {pr_warn_ratelimited ("TARGET_CORE[%s]: Expected Transfer Length:" " %u does not match SCSI CDB Length: %u for SAM Opcode:" -" 0x%02x\n" , cmd->se_tfo->get_fabric_name (), +" 0x%02x\n" , cmd->se_tfo->fabric_name, cmd->data_length, size, cmd->t_task_cdb[0 ]);if (cmd->data_direction =DMA_TO_DEVICE ) {
@@ -1396,7 +1396,7 @@ target_setup_cmd_from_cdb(struct se_cmd *cmd, unsigned char *cdb) ret = dev->transport->parse_cdb (cmd);if (ret =TCM_UNSUPPORTED_SCSI_OPCODE )pr_warn_ratelimited ("%s/%s: Unsupported SCSI Opcode 0x%02x, sending CHECK_CONDITION.\n" , - cmd->se_tfo->get_fabric_name (), + cmd->se_tfo->fabric_name, cmd->se_sess->se_node_acl->initiatorname, cmd->t_task_cdb[0 ]);if (ret)
drivers/target/target_core_ua.c +2 -2
@@ -266,7 +266,7 @@ bool core_scsi3_ua_for_check_condition(struct se_cmd *cmd, u8 *key, u8 *asc,pr_debug ("[%s]: %s UNIT ATTENTION condition with" " INTLCK_CTRL: %d, mapped LUN: %llu, got CDB: 0x%02x" " reported ASC: 0x%02x, ASCQ: 0x%02x\n" , - nacl->se_tpg->se_tpg_tfo->get_fabric_name (), + nacl->se_tpg->se_tpg_tfo->fabric_name, (dev->dev_attrib.emulate_ua_intlck_ctrl !=0 ) ?"Reporting" :"Releasing" , dev->dev_attrib.emulate_ua_intlck_ctrl, cmd->orig_fe_lun, cmd->t_task_cdb[0 ], *asc, *ascq);
@@ -327,7 +327,7 @@ int core_scsi3_ua_clear_for_request_sense(pr_debug ("[%s]: Released UNIT ATTENTION condition, mapped" " LUN: %llu, got REQUEST_SENSE reported ASC: 0x%02x," -" ASCQ: 0x%02x\n" , nacl->se_tpg->se_tpg_tfo->get_fabric_name (), +" ASCQ: 0x%02x\n" , nacl->se_tpg->se_tpg_tfo->fabric_name, cmd->orig_fe_lun, *asc, *ascq);return (head) ? -EPERM :0 ;
drivers/target/target_core_xcopy.c +1 -6
@@ -399,11 +399,6 @@ struct se_portal_group xcopy_pt_tpg;static struct se_session xcopy_pt_sess;static struct se_node_acl xcopy_pt_nacl; -static char *xcopy_pt_get_fabric_name (void ) -{ -return "xcopy-pt" ; -} -static int xcopy_pt_get_cmd_state (struct se_cmd *se_cmd) {return 0 ;
@@ -463,7 +458,7 @@ static int xcopy_pt_queue_status(struct se_cmd *se_cmd) }static const struct target_core_fabric_ops xcopy_pt_tfo = { - .get_fabric_name = xcopy_pt_get_fabric_name, + .fabric_name ="xcopy-pt" , .get_cmd_state = xcopy_pt_get_cmd_state, .release_cmd = xcopy_pt_release_cmd, .check_stop_free = xcopy_pt_check_stop_free,
drivers/target/tcm_fc/tfc_conf.c +1 -6
@@ -392,11 +392,6 @@ static inline struct ft_tpg *ft_tpg(struct se_portal_group *se_tpg) return container_of(se_tpg, struct ft_tpg, se_tpg); } -static char *ft_get_fabric_name (void ) -{ -return "fc" ; -} -static char *ft_get_fabric_wwn (struct se_portal_group *se_tpg) {return ft_tpg (se_tpg)->lport_wwn->name;
@@ -428,8 +423,8 @@ static u32 ft_tpg_get_inst_index(struct se_portal_group *se_tpg)static const struct target_core_fabric_ops ft_fabric_ops = { .module =THIS_MODULE , .name ="fc" , + .fabric_name ="fc" , .node_acl_size =sizeof (struct ft_node_acl ), - .get_fabric_name = ft_get_fabric_name, .tpg_get_wwn = ft_get_fabric_wwn, .tpg_get_tag = ft_get_tag, .tpg_check_demo_mode = ft_check_false,
drivers/usb/gadget/function/f_tcm.c +1 -6
@@ -1256,11 +1256,6 @@ static int usbg_check_false(struct se_portal_group *se_tpg)return 0 ; } -static char *usbg_get_fabric_name (void ) -{ -return "usb_gadget" ; -} -static char *usbg_get_fabric_wwn (struct se_portal_group *se_tpg) { struct usbg_tpg *tpg = container_of(se_tpg,
@@ -1719,7 +1714,7 @@ static int usbg_check_stop_free(struct se_cmd *se_cmd)static const struct target_core_fabric_ops usbg_ops = { .module =THIS_MODULE , .name ="usb_gadget" , - .get_fabric_name = usbg_get_fabric_name, + .fabric_name ="usb_gadget" , .tpg_get_wwn = usbg_get_fabric_wwn, .tpg_get_tag = usbg_get_tag, .tpg_check_demo_mode = usbg_check_true,
drivers/vhost/scsi.c +1 -6
@@ -285,11 +285,6 @@ static int vhost_scsi_check_false(struct se_portal_group *se_tpg)return 0 ; } -static char *vhost_scsi_get_fabric_name (void ) -{ -return "vhost" ; -} -static char *vhost_scsi_get_fabric_wwn (struct se_portal_group *se_tpg) { struct vhost_scsi_tpg *tpg = container_of(se_tpg,
@@ -2290,7 +2285,7 @@ static struct configfs_attribute *vhost_scsi_wwn_attrs[] = {static const struct target_core_fabric_ops vhost_scsi_ops = { .module =THIS_MODULE , .name ="vhost" , - .get_fabric_name = vhost_scsi_get_fabric_name, + .fabric_name ="vhost" , .tpg_get_wwn = vhost_scsi_get_fabric_wwn, .tpg_get_tag = vhost_scsi_get_tpgt, .tpg_check_demo_mode = vhost_scsi_check_true,
drivers/xen/xen-scsiback.c +1 -6
@@ -1712,11 +1712,6 @@ static struct configfs_attribute *scsiback_wwn_attrs[] = { NULL, }; -static char *scsiback_get_fabric_name (void ) -{ -return "xen-pvscsi" ; -} -static int scsiback_port_link (struct se_portal_group *se_tpg,struct se_lun *lun) {
@@ -1811,7 +1806,7 @@ static int scsiback_check_false(struct se_portal_group *se_tpg)static const struct target_core_fabric_ops scsiback_ops = { .module =THIS_MODULE , .name ="xen-pvscsi" , - .get_fabric_name = scsiback_get_fabric_name, + .fabric_name ="xen-pvscsi" , .tpg_get_wwn = scsiback_get_fabric_wwn, .tpg_get_tag = scsiback_get_tag, .tpg_check_demo_mode = scsiback_check_true,
include/target/target_core_fabric.h +5 -1
@@ -9,6 +9,11 @@struct target_core_fabric_ops {struct module *module;const char *name; +/* +* fabric_name is used for the ALUA state path and is stored on disk +* with PR state. +*/ +const char *fabric_name;size_t node_acl_size;/* * Limits number of scatterlist entries per SCF_SCSI_DATA_CDB payload.
@@ -23,7 +28,6 @@ struct target_core_fabric_ops {* XXX: Currently assumes single PAGE_SIZE per scatterlist entry */ u32 max_data_sg_nents; -char *(*get_fabric_name)(void );char *(*tpg_get_wwn)(struct se_portal_group *);u16 (*tpg_get_tag)(struct se_portal_group *);u32 (*tpg_get_default_depth)(struct se_portal_group *);
Signature · 1 line
2.13.7
Looks good,