diff options
Diffstat (limited to 'drivers/target/target_core_stat.c')
| -rw-r--r-- | drivers/target/target_core_stat.c | 377 |
1 files changed, 103 insertions, 274 deletions
diff --git a/drivers/target/target_core_stat.c b/drivers/target/target_core_stat.c index f8c2d2cc343..03538994d2f 100644 --- a/drivers/target/target_core_stat.c +++ b/drivers/target/target_core_stat.c @@ -1,13 +1,10 @@ /******************************************************************************* * Filename: target_core_stat.c * - * Copyright (c) 2011 Rising Tide Systems - * Copyright (c) 2011 Linux-iSCSI.org - * * Modern ConfigFS group context specific statistics based on original * target_core_mib.c code * - * Copyright (c) 2006-2007 SBE, Inc. All Rights Reserved. + * (c) Copyright 2006-2013 Datera, Inc. * * Nicholas A. Bellinger <nab@linux-iscsi.org> * @@ -32,11 +29,9 @@ #include <linux/delay.h> #include <linux/timer.h> #include <linux/string.h> -#include <generated/utsrelease.h> #include <linux/utsname.h> #include <linux/proc_fs.h> #include <linux/seq_file.h> -#include <linux/blkdev.h> #include <linux/configfs.h> #include <scsi/scsi.h> #include <scsi/scsi_device.h> @@ -81,13 +76,9 @@ static struct target_stat_scsi_dev_attribute \ static ssize_t target_stat_scsi_dev_show_attr_inst( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_hba *hba = se_subdev->se_dev_hba; - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); + struct se_hba *hba = dev->se_hba; return snprintf(page, PAGE_SIZE, "%u\n", hba->hba_index); } @@ -96,12 +87,8 @@ DEV_STAT_SCSI_DEV_ATTR_RO(inst); static ssize_t target_stat_scsi_dev_show_attr_indx( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); return snprintf(page, PAGE_SIZE, "%u\n", dev->dev_index); } @@ -110,13 +97,6 @@ DEV_STAT_SCSI_DEV_ATTR_RO(indx); static ssize_t target_stat_scsi_dev_show_attr_role( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; - return snprintf(page, PAGE_SIZE, "Target\n"); } DEV_STAT_SCSI_DEV_ATTR_RO(role); @@ -124,12 +104,8 @@ DEV_STAT_SCSI_DEV_ATTR_RO(role); static ssize_t target_stat_scsi_dev_show_attr_ports( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); return snprintf(page, PAGE_SIZE, "%u\n", dev->dev_port_count); } @@ -177,13 +153,9 @@ static struct target_stat_scsi_tgt_dev_attribute \ static ssize_t target_stat_scsi_tgt_dev_show_attr_inst( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_hba *hba = se_subdev->se_dev_hba; - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); + struct se_hba *hba = dev->se_hba; return snprintf(page, PAGE_SIZE, "%u\n", hba->hba_index); } @@ -192,12 +164,8 @@ DEV_STAT_SCSI_TGT_DEV_ATTR_RO(inst); static ssize_t target_stat_scsi_tgt_dev_show_attr_indx( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); return snprintf(page, PAGE_SIZE, "%u\n", dev->dev_index); } @@ -206,13 +174,6 @@ DEV_STAT_SCSI_TGT_DEV_ATTR_RO(indx); static ssize_t target_stat_scsi_tgt_dev_show_attr_num_lus( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; - return snprintf(page, PAGE_SIZE, "%u\n", LU_COUNT); } DEV_STAT_SCSI_TGT_DEV_ATTR_RO(num_lus); @@ -220,60 +181,27 @@ DEV_STAT_SCSI_TGT_DEV_ATTR_RO(num_lus); static ssize_t target_stat_scsi_tgt_dev_show_attr_status( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - char status[16]; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); - switch (dev->dev_status) { - case TRANSPORT_DEVICE_ACTIVATED: - strcpy(status, "activated"); - break; - case TRANSPORT_DEVICE_DEACTIVATED: - strcpy(status, "deactivated"); - break; - case TRANSPORT_DEVICE_SHUTDOWN: - strcpy(status, "shutdown"); - break; - case TRANSPORT_DEVICE_OFFLINE_ACTIVATED: - case TRANSPORT_DEVICE_OFFLINE_DEACTIVATED: - strcpy(status, "offline"); - break; - default: - sprintf(status, "unknown(%d)", dev->dev_status); - break; - } - - return snprintf(page, PAGE_SIZE, "%s\n", status); + if (dev->export_count) + return snprintf(page, PAGE_SIZE, "activated"); + else + return snprintf(page, PAGE_SIZE, "deactivated"); } DEV_STAT_SCSI_TGT_DEV_ATTR_RO(status); static ssize_t target_stat_scsi_tgt_dev_show_attr_non_access_lus( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); int non_accessible_lus; - if (!dev) - return -ENODEV; - - switch (dev->dev_status) { - case TRANSPORT_DEVICE_ACTIVATED: + if (dev->export_count) non_accessible_lus = 0; - break; - case TRANSPORT_DEVICE_DEACTIVATED: - case TRANSPORT_DEVICE_SHUTDOWN: - case TRANSPORT_DEVICE_OFFLINE_ACTIVATED: - case TRANSPORT_DEVICE_OFFLINE_DEACTIVATED: - default: + else non_accessible_lus = 1; - break; - } return snprintf(page, PAGE_SIZE, "%u\n", non_accessible_lus); } @@ -282,14 +210,11 @@ DEV_STAT_SCSI_TGT_DEV_ATTR_RO(non_access_lus); static ssize_t target_stat_scsi_tgt_dev_show_attr_resets( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); - if (!dev) - return -ENODEV; - - return snprintf(page, PAGE_SIZE, "%u\n", dev->num_resets); + return snprintf(page, PAGE_SIZE, "%lu\n", + atomic_long_read(&dev->num_resets)); } DEV_STAT_SCSI_TGT_DEV_ATTR_RO(resets); @@ -336,13 +261,9 @@ static struct target_stat_scsi_lu_attribute target_stat_scsi_lu_##_name = \ static ssize_t target_stat_scsi_lu_show_attr_inst( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_hba *hba = se_subdev->se_dev_hba; - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); + struct se_hba *hba = dev->se_hba; return snprintf(page, PAGE_SIZE, "%u\n", hba->hba_index); } @@ -351,12 +272,8 @@ DEV_STAT_SCSI_LU_ATTR_RO(inst); static ssize_t target_stat_scsi_lu_show_attr_dev( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); return snprintf(page, PAGE_SIZE, "%u\n", dev->dev_index); } @@ -365,13 +282,6 @@ DEV_STAT_SCSI_LU_ATTR_RO(dev); static ssize_t target_stat_scsi_lu_show_attr_indx( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; - return snprintf(page, PAGE_SIZE, "%u\n", SCSI_LU_INDEX); } DEV_STAT_SCSI_LU_ATTR_RO(indx); @@ -379,12 +289,6 @@ DEV_STAT_SCSI_LU_ATTR_RO(indx); static ssize_t target_stat_scsi_lu_show_attr_lun( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; /* FIXME: scsiLuDefaultLun */ return snprintf(page, PAGE_SIZE, "%llu\n", (unsigned long long)0); } @@ -393,35 +297,28 @@ DEV_STAT_SCSI_LU_ATTR_RO(lun); static ssize_t target_stat_scsi_lu_show_attr_lu_name( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); - if (!dev) - return -ENODEV; /* scsiLuWwnName */ return snprintf(page, PAGE_SIZE, "%s\n", - (strlen(dev->se_sub_dev->t10_wwn.unit_serial)) ? - dev->se_sub_dev->t10_wwn.unit_serial : "None"); + (strlen(dev->t10_wwn.unit_serial)) ? + dev->t10_wwn.unit_serial : "None"); } DEV_STAT_SCSI_LU_ATTR_RO(lu_name); static ssize_t target_stat_scsi_lu_show_attr_vend( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); int i; - char str[sizeof(dev->se_sub_dev->t10_wwn.vendor)+1]; - - if (!dev) - return -ENODEV; + char str[sizeof(dev->t10_wwn.vendor)+1]; /* scsiLuVendorId */ - for (i = 0; i < sizeof(dev->se_sub_dev->t10_wwn.vendor); i++) - str[i] = ISPRINT(dev->se_sub_dev->t10_wwn.vendor[i]) ? - dev->se_sub_dev->t10_wwn.vendor[i] : ' '; + for (i = 0; i < sizeof(dev->t10_wwn.vendor); i++) + str[i] = ISPRINT(dev->t10_wwn.vendor[i]) ? + dev->t10_wwn.vendor[i] : ' '; str[i] = '\0'; return snprintf(page, PAGE_SIZE, "%s\n", str); } @@ -430,19 +327,15 @@ DEV_STAT_SCSI_LU_ATTR_RO(vend); static ssize_t target_stat_scsi_lu_show_attr_prod( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); int i; - char str[sizeof(dev->se_sub_dev->t10_wwn.model)+1]; - - if (!dev) - return -ENODEV; + char str[sizeof(dev->t10_wwn.model)+1]; /* scsiLuProductId */ - for (i = 0; i < sizeof(dev->se_sub_dev->t10_wwn.vendor); i++) - str[i] = ISPRINT(dev->se_sub_dev->t10_wwn.model[i]) ? - dev->se_sub_dev->t10_wwn.model[i] : ' '; + for (i = 0; i < sizeof(dev->t10_wwn.vendor); i++) + str[i] = ISPRINT(dev->t10_wwn.model[i]) ? + dev->t10_wwn.model[i] : ' '; str[i] = '\0'; return snprintf(page, PAGE_SIZE, "%s\n", str); } @@ -451,19 +344,15 @@ DEV_STAT_SCSI_LU_ATTR_RO(prod); static ssize_t target_stat_scsi_lu_show_attr_rev( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); int i; - char str[sizeof(dev->se_sub_dev->t10_wwn.revision)+1]; - - if (!dev) - return -ENODEV; + char str[sizeof(dev->t10_wwn.revision)+1]; /* scsiLuRevisionId */ - for (i = 0; i < sizeof(dev->se_sub_dev->t10_wwn.revision); i++) - str[i] = ISPRINT(dev->se_sub_dev->t10_wwn.revision[i]) ? - dev->se_sub_dev->t10_wwn.revision[i] : ' '; + for (i = 0; i < sizeof(dev->t10_wwn.revision); i++) + str[i] = ISPRINT(dev->t10_wwn.revision[i]) ? + dev->t10_wwn.revision[i] : ' '; str[i] = '\0'; return snprintf(page, PAGE_SIZE, "%s\n", str); } @@ -472,12 +361,8 @@ DEV_STAT_SCSI_LU_ATTR_RO(rev); static ssize_t target_stat_scsi_lu_show_attr_dev_type( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); /* scsiLuPeripheralType */ return snprintf(page, PAGE_SIZE, "%u\n", @@ -488,30 +373,18 @@ DEV_STAT_SCSI_LU_ATTR_RO(dev_type); static ssize_t target_stat_scsi_lu_show_attr_status( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); /* scsiLuStatus */ return snprintf(page, PAGE_SIZE, "%s\n", - (dev->dev_status == TRANSPORT_DEVICE_ACTIVATED) ? - "available" : "notavailable"); + (dev->export_count) ? "available" : "notavailable"); } DEV_STAT_SCSI_LU_ATTR_RO(status); static ssize_t target_stat_scsi_lu_show_attr_state_bit( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; - /* scsiLuState */ return snprintf(page, PAGE_SIZE, "exposed\n"); } @@ -520,74 +393,53 @@ DEV_STAT_SCSI_LU_ATTR_RO(state_bit); static ssize_t target_stat_scsi_lu_show_attr_num_cmds( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); /* scsiLuNumCommands */ - return snprintf(page, PAGE_SIZE, "%llu\n", - (unsigned long long)dev->num_cmds); + return snprintf(page, PAGE_SIZE, "%lu\n", + atomic_long_read(&dev->num_cmds)); } DEV_STAT_SCSI_LU_ATTR_RO(num_cmds); static ssize_t target_stat_scsi_lu_show_attr_read_mbytes( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); /* scsiLuReadMegaBytes */ - return snprintf(page, PAGE_SIZE, "%u\n", (u32)(dev->read_bytes >> 20)); + return snprintf(page, PAGE_SIZE, "%lu\n", + atomic_long_read(&dev->read_bytes) >> 20); } DEV_STAT_SCSI_LU_ATTR_RO(read_mbytes); static ssize_t target_stat_scsi_lu_show_attr_write_mbytes( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); /* scsiLuWrittenMegaBytes */ - return snprintf(page, PAGE_SIZE, "%u\n", (u32)(dev->write_bytes >> 20)); + return snprintf(page, PAGE_SIZE, "%lu\n", + atomic_long_read(&dev->write_bytes) >> 20); } DEV_STAT_SCSI_LU_ATTR_RO(write_mbytes); static ssize_t target_stat_scsi_lu_show_attr_resets( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); /* scsiLuInResets */ - return snprintf(page, PAGE_SIZE, "%u\n", dev->num_resets); + return snprintf(page, PAGE_SIZE, "%lu\n", atomic_long_read(&dev->num_resets)); } DEV_STAT_SCSI_LU_ATTR_RO(resets); static ssize_t target_stat_scsi_lu_show_attr_full_stat( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; - /* FIXME: scsiLuOutTaskSetFullStatus */ return snprintf(page, PAGE_SIZE, "%u\n", 0); } @@ -596,13 +448,6 @@ DEV_STAT_SCSI_LU_ATTR_RO(full_stat); static ssize_t target_stat_scsi_lu_show_attr_hs_num_cmds( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; - /* FIXME: scsiLuHSInCommands */ return snprintf(page, PAGE_SIZE, "%u\n", 0); } @@ -611,12 +456,8 @@ DEV_STAT_SCSI_LU_ATTR_RO(hs_num_cmds); static ssize_t target_stat_scsi_lu_show_attr_creation_time( struct se_dev_stat_grps *sgrps, char *page) { - struct se_subsystem_dev *se_subdev = container_of(sgrps, - struct se_subsystem_dev, dev_stat_grps); - struct se_device *dev = se_subdev->se_dev_ptr; - - if (!dev) - return -ENODEV; + struct se_device *dev = + container_of(sgrps, struct se_device, dev_stat_grps); /* scsiLuCreationTime */ return snprintf(page, PAGE_SIZE, "%u\n", (u32)(((u32)dev->creation_time - @@ -663,20 +504,20 @@ static struct config_item_type target_stat_scsi_lu_cit = { * Called from target_core_configfs.c:target_core_make_subdev() to setup * the target statistics groups + configfs CITs located in target_core_stat.c */ -void target_stat_setup_dev_default_groups(struct se_subsystem_dev *se_subdev) +void target_stat_setup_dev_default_groups(struct se_device *dev) { - struct config_group *dev_stat_grp = &se_subdev->dev_stat_grps.stat_group; + struct config_group *dev_stat_grp = &dev->dev_stat_grps.stat_group; - config_group_init_type_name(&se_subdev->dev_stat_grps.scsi_dev_group, + config_group_init_type_name(&dev->dev_stat_grps.scsi_dev_group, "scsi_dev", &target_stat_scsi_dev_cit); - config_group_init_type_name(&se_subdev->dev_stat_grps.scsi_tgt_dev_group, + config_group_init_type_name(&dev->dev_stat_grps.scsi_tgt_dev_group, "scsi_tgt_dev", &target_stat_scsi_tgt_dev_cit); - config_group_init_type_name(&se_subdev->dev_stat_grps.scsi_lu_group, + config_group_init_type_name(&dev->dev_stat_grps.scsi_lu_group, "scsi_lu", &target_stat_scsi_lu_cit); - dev_stat_grp->default_groups[0] = &se_subdev->dev_stat_grps.scsi_dev_group; - dev_stat_grp->default_groups[1] = &se_subdev->dev_stat_grps.scsi_tgt_dev_group; - dev_stat_grp->default_groups[2] = &se_subdev->dev_stat_grps.scsi_lu_group; + dev_stat_grp->default_groups[0] = &dev->dev_stat_grps.scsi_dev_group; + dev_stat_grp->default_groups[1] = &dev->dev_stat_grps.scsi_tgt_dev_group; + dev_stat_grp->default_groups[2] = &dev->dev_stat_grps.scsi_lu_group; dev_stat_grp->default_groups[3] = NULL; } @@ -954,7 +795,6 @@ static ssize_t target_stat_scsi_tgt_port_show_attr_in_cmds( { struct se_lun *lun = container_of(pgrps, struct se_lun, port_stat_grps); struct se_port *sep; - struct se_portal_group *tpg; ssize_t ret; spin_lock(&lun->lun_sep_lock); @@ -963,7 +803,6 @@ static ssize_t target_stat_scsi_tgt_port_show_attr_in_cmds( spin_unlock(&lun->lun_sep_lock); return -ENODEV; } - tpg = sep->sep_tpg; ret = snprintf(page, PAGE_SIZE, "%llu\n", sep->sep_stats.cmd_pdus); spin_unlock(&lun->lun_sep_lock); @@ -976,7 +815,6 @@ static ssize_t target_stat_scsi_tgt_port_show_attr_write_mbytes( { struct se_lun *lun = container_of(pgrps, struct se_lun, port_stat_grps); struct se_port *sep; - struct se_portal_group *tpg; ssize_t ret; spin_lock(&lun->lun_sep_lock); @@ -985,7 +823,6 @@ static ssize_t target_stat_scsi_tgt_port_show_attr_write_mbytes( spin_unlock(&lun->lun_sep_lock); return -ENODEV; } - tpg = sep->sep_tpg; ret = snprintf(page, PAGE_SIZE, "%u\n", (u32)(sep->sep_stats.rx_data_octets >> 20)); @@ -999,7 +836,6 @@ static ssize_t target_stat_scsi_tgt_port_show_attr_read_mbytes( { struct se_lun *lun = container_of(pgrps, struct se_lun, port_stat_grps); struct se_port *sep; - struct se_portal_group *tpg; ssize_t ret; spin_lock(&lun->lun_sep_lock); @@ -1008,7 +844,6 @@ static ssize_t target_stat_scsi_tgt_port_show_attr_read_mbytes( spin_unlock(&lun->lun_sep_lock); return -ENODEV; } - tpg = sep->sep_tpg; ret = snprintf(page, PAGE_SIZE, "%u\n", (u32)(sep->sep_stats.tx_data_octets >> 20)); @@ -1022,7 +857,6 @@ static ssize_t target_stat_scsi_tgt_port_show_attr_hs_in_cmds( { struct se_lun *lun = container_of(pgrps, struct se_lun, port_stat_grps); struct se_port *sep; - struct se_portal_group *tpg; ssize_t ret; spin_lock(&lun->lun_sep_lock); @@ -1031,7 +865,6 @@ static ssize_t target_stat_scsi_tgt_port_show_attr_hs_in_cmds( spin_unlock(&lun->lun_sep_lock); return -ENODEV; } - tpg = sep->sep_tpg; /* FIXME: scsiTgtPortHsInCommands */ ret = snprintf(page, PAGE_SIZE, "%u\n", 0); @@ -1170,7 +1003,7 @@ static ssize_t target_stat_scsi_transport_show_attr_dev_name( return -ENODEV; } tpg = sep->sep_tpg; - wwn = &dev->se_sub_dev->t10_wwn; + wwn = &dev->t10_wwn; /* scsiTransportDevName */ ret = snprintf(page, PAGE_SIZE, "%s+%s\n", tpg->se_tpg_tfo->tpg_get_wwn(tpg), @@ -1253,7 +1086,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_inst( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1275,16 +1108,14 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_dev( struct se_node_acl *nacl = lacl->se_lun_nacl; struct se_dev_entry *deve; struct se_lun *lun; - struct se_portal_group *tpg; ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; } - tpg = nacl->se_tpg; lun = deve->se_lun; /* scsiDeviceIndex */ ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_se_dev->dev_index); @@ -1304,7 +1135,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_port( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1327,7 +1158,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_indx( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1349,7 +1180,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_dev_or_port( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1371,7 +1202,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_intr_name( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1393,7 +1224,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_map_indx( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1415,7 +1246,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_att_count( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1437,7 +1268,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_num_cmds( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1459,7 +1290,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_read_mbytes( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1481,7 +1312,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_write_mbytes( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1503,7 +1334,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_hs_num_cmds( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1525,7 +1356,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_creation_time( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1548,7 +1379,7 @@ static ssize_t target_stat_scsi_auth_intr_show_attr_row_status( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1621,7 +1452,7 @@ static ssize_t target_stat_scsi_att_intr_port_show_attr_inst( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1643,16 +1474,14 @@ static ssize_t target_stat_scsi_att_intr_port_show_attr_dev( struct se_node_acl *nacl = lacl->se_lun_nacl; struct se_dev_entry *deve; struct se_lun *lun; - struct se_portal_group *tpg; ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; } - tpg = nacl->se_tpg; lun = deve->se_lun; /* scsiDeviceIndex */ ret = snprintf(page, PAGE_SIZE, "%u\n", lun->lun_se_dev->dev_index); @@ -1672,7 +1501,7 @@ static ssize_t target_stat_scsi_att_intr_port_show_attr_port( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; @@ -1721,7 +1550,7 @@ static ssize_t target_stat_scsi_att_intr_port_show_attr_port_auth_indx( ssize_t ret; spin_lock_irq(&nacl->device_list_lock); - deve = &nacl->device_list[lacl->mapped_lun]; + deve = nacl->device_list[lacl->mapped_lun]; if (!deve->se_lun || !deve->se_lun_acl) { spin_unlock_irq(&nacl->device_list_lock); return -ENODEV; |
