#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/string.h>
#include <linux/utsname.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/configfs.h>
#include <target/target_core_base.h>
#include <target/target_core_backend.h>
#include <target/target_core_fabric.h>
#include "target_core_internal.h"
#ifndef INITIAL_JIFFIES
#define INITIAL_JIFFIES …
#endif
#define SCSI_LU_INDEX …
#define LU_COUNT …
static struct se_device *to_stat_dev(struct config_item *item)
{ … }
static ssize_t target_stat_inst_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_indx_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_role_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_ports_show(struct config_item *item, char *page)
{ … }
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
static struct configfs_attribute *target_stat_scsi_dev_attrs[] = …;
static const struct config_item_type target_stat_scsi_dev_cit = …;
static struct se_device *to_stat_tgt_dev(struct config_item *item)
{ … }
static ssize_t target_stat_tgt_inst_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_tgt_indx_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_tgt_num_lus_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_status_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_non_access_lus_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_resets_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_aborts_complete_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_aborts_no_task_show(struct config_item *item,
char *page)
{ … }
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
static struct configfs_attribute *target_stat_scsi_tgt_dev_attrs[] = …;
static const struct config_item_type target_stat_scsi_tgt_dev_cit = …;
static struct se_device *to_stat_lu_dev(struct config_item *item)
{ … }
static ssize_t target_stat_lu_inst_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_dev_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_indx_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_lun_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_lu_name_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_vend_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_prod_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_rev_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_dev_type_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_status_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_state_bit_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_lu_num_cmds_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_lu_read_mbytes_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_lu_write_mbytes_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_lu_resets_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_lu_full_stat_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_lu_hs_num_cmds_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_lu_creation_time_show(struct config_item *item,
char *page)
{ … }
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
static struct configfs_attribute *target_stat_scsi_lu_attrs[] = …;
static const struct config_item_type target_stat_scsi_lu_cit = …;
void target_stat_setup_dev_default_groups(struct se_device *dev)
{ … }
static struct se_lun *to_stat_port(struct config_item *item)
{ … }
static ssize_t target_stat_port_inst_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_port_dev_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_port_indx_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_port_role_show(struct config_item *item, char *page)
{ … }
static ssize_t target_stat_port_busy_count_show(struct config_item *item,
char *page)
{ … }
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
static struct configfs_attribute *target_stat_scsi_port_attrs[] = …;
static const struct config_item_type target_stat_scsi_port_cit = …;
static struct se_lun *to_stat_tgt_port(struct config_item *item)
{ … }
static ssize_t target_stat_tgt_port_inst_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_port_dev_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_port_indx_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_port_name_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_port_port_index_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_port_in_cmds_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_port_write_mbytes_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_port_read_mbytes_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_tgt_port_hs_in_cmds_show(struct config_item *item,
char *page)
{ … }
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
static struct configfs_attribute *target_stat_scsi_tgt_port_attrs[] = …;
static const struct config_item_type target_stat_scsi_tgt_port_cit = …;
static struct se_lun *to_transport_stat(struct config_item *item)
{ … }
static ssize_t target_stat_transport_inst_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_transport_device_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_transport_indx_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_transport_dev_name_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_transport_proto_id_show(struct config_item *item,
char *page)
{ … }
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
static struct configfs_attribute *target_stat_scsi_transport_attrs[] = …;
static const struct config_item_type target_stat_scsi_transport_cit = …;
void target_stat_setup_port_default_groups(struct se_lun *lun)
{ … }
static struct se_lun_acl *auth_to_lacl(struct config_item *item)
{ … }
static ssize_t target_stat_auth_inst_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_dev_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_port_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_indx_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_dev_or_port_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_intr_name_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_map_indx_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_att_count_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_num_cmds_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_read_mbytes_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_write_mbytes_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_hs_num_cmds_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_creation_time_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_auth_row_status_show(struct config_item *item,
char *page)
{ … }
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
static struct configfs_attribute *target_stat_scsi_auth_intr_attrs[] = …;
static const struct config_item_type target_stat_scsi_auth_intr_cit = …;
static struct se_lun_acl *iport_to_lacl(struct config_item *item)
{ … }
static ssize_t target_stat_iport_inst_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_iport_dev_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_iport_port_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_iport_indx_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_iport_port_auth_indx_show(struct config_item *item,
char *page)
{ … }
static ssize_t target_stat_iport_port_ident_show(struct config_item *item,
char *page)
{ … }
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
CONFIGFS_ATTR_RO(…);
static struct configfs_attribute *target_stat_scsi_ath_intr_port_attrs[] = …;
static const struct config_item_type target_stat_scsi_att_intr_port_cit = …;
void target_stat_setup_mappedlun_default_groups(struct se_lun_acl *lacl)
{ … }