]> Pileus Git - ~andy/linux/commitdiff
target: provide generic sbc device type/revision helpers
authorChristoph Hellwig <hch@infradead.org>
Sun, 7 Oct 2012 14:55:53 +0000 (10:55 -0400)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 7 Nov 2012 04:55:44 +0000 (20:55 -0800)
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_file.c
drivers/target/target_core_iblock.c
drivers/target/target_core_rd.c
drivers/target/target_core_sbc.c
include/target/target_core_backend.h

index 571d3645f58aad3cc33013c9cee92aa8f5bd6c3a..2a3e2bbd8078ca937f7c0d498e0138250ac19e09 100644 (file)
@@ -491,24 +491,6 @@ static ssize_t fd_show_configfs_dev_params(struct se_device *dev, char *b)
        return bl;
 }
 
-/*     fd_get_device_rev(): (Part of se_subsystem_api_t template)
- *
- *
- */
-static u32 fd_get_device_rev(struct se_device *dev)
-{
-       return SCSI_SPC_2; /* Returns SPC-3 in Initiator Data */
-}
-
-/*     fd_get_device_type(): (Part of se_subsystem_api_t template)
- *
- *
- */
-static u32 fd_get_device_type(struct se_device *dev)
-{
-       return TYPE_DISK;
-}
-
 static sector_t fd_get_blocks(struct se_device *dev)
 {
        struct fd_dev *fd_dev = FD_DEV(dev);
@@ -552,8 +534,8 @@ static struct se_subsystem_api fileio_template = {
        .parse_cdb              = fd_parse_cdb,
        .set_configfs_dev_params = fd_set_configfs_dev_params,
        .show_configfs_dev_params = fd_show_configfs_dev_params,
-       .get_device_rev         = fd_get_device_rev,
-       .get_device_type        = fd_get_device_type,
+       .get_device_rev         = sbc_get_device_rev,
+       .get_device_type        = sbc_get_device_type,
        .get_blocks             = fd_get_blocks,
 };
 
index 969eed8bff529e4e865de20e54200eb886a5606a..701877f9cd33ebd62f5375b120364abd6b41466a 100644 (file)
@@ -664,16 +664,6 @@ fail:
        return -ENOMEM;
 }
 
-static u32 iblock_get_device_rev(struct se_device *dev)
-{
-       return SCSI_SPC_2; /* Returns SPC-3 in Initiator Data */
-}
-
-static u32 iblock_get_device_type(struct se_device *dev)
-{
-       return TYPE_DISK;
-}
-
 static sector_t iblock_get_blocks(struct se_device *dev)
 {
        struct iblock_dev *ib_dev = IBLOCK_DEV(dev);
@@ -735,8 +725,8 @@ static struct se_subsystem_api iblock_template = {
        .parse_cdb              = iblock_parse_cdb,
        .set_configfs_dev_params = iblock_set_configfs_dev_params,
        .show_configfs_dev_params = iblock_show_configfs_dev_params,
-       .get_device_rev         = iblock_get_device_rev,
-       .get_device_type        = iblock_get_device_type,
+       .get_device_rev         = sbc_get_device_rev,
+       .get_device_type        = sbc_get_device_type,
        .get_blocks             = iblock_get_blocks,
 };
 
index 1b36e67b1153690415114b8ef8c1b71b9bd9649d..6348b6672526b72b94a99132bbf4169541b7412b 100644 (file)
@@ -417,16 +417,6 @@ static ssize_t rd_show_configfs_dev_params(struct se_device *dev, char *b)
        return bl;
 }
 
-static u32 rd_get_device_rev(struct se_device *dev)
-{
-       return SCSI_SPC_2; /* Returns SPC-3 in Initiator Data */
-}
-
-static u32 rd_get_device_type(struct se_device *dev)
-{
-       return TYPE_DISK;
-}
-
 static sector_t rd_get_blocks(struct se_device *dev)
 {
        struct rd_dev *rd_dev = RD_DEV(dev);
@@ -459,8 +449,8 @@ static struct se_subsystem_api rd_mcp_template = {
        .parse_cdb              = rd_parse_cdb,
        .set_configfs_dev_params = rd_set_configfs_dev_params,
        .show_configfs_dev_params = rd_show_configfs_dev_params,
-       .get_device_rev         = rd_get_device_rev,
-       .get_device_type        = rd_get_device_type,
+       .get_device_rev         = sbc_get_device_rev,
+       .get_device_type        = sbc_get_device_type,
        .get_blocks             = rd_get_blocks,
 };
 
index a77a19c8d923bd7316dfefc4f6d66ebb28632290..01686954cfa0e1d32c451abd5192fbbf3d47dee2 100644 (file)
@@ -603,3 +603,15 @@ out_invalid_cdb_field:
        return -EINVAL;
 }
 EXPORT_SYMBOL(sbc_parse_cdb);
+
+u32 sbc_get_device_rev(struct se_device *dev)
+{
+       return SCSI_SPC_2; /* Returns SPC-3 in Initiator Data */
+}
+EXPORT_SYMBOL(sbc_get_device_rev);
+
+u32 sbc_get_device_type(struct se_device *dev)
+{
+       return TYPE_DISK;
+}
+EXPORT_SYMBOL(sbc_get_device_type);
index e7a03056c957696b8e18ffa515f9a1f2162abba8..b7f3936453e1058eb3e79eebf5ac9d55422331fa 100644 (file)
@@ -50,11 +50,14 @@ void        transport_subsystem_release(struct se_subsystem_api *);
 
 void   target_complete_cmd(struct se_cmd *, u8);
 
-int    sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops);
 int    spc_parse_cdb(struct se_cmd *cmd, unsigned int *size);
 int    spc_emulate_report_luns(struct se_cmd *cmd);
 int    spc_get_write_same_sectors(struct se_cmd *cmd);
 
+int    sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops);
+u32    sbc_get_device_rev(struct se_device *dev);
+u32    sbc_get_device_type(struct se_device *dev);
+
 void   transport_set_vpd_proto_id(struct t10_vpd *, unsigned char *);
 int    transport_set_vpd_assoc(struct t10_vpd *, unsigned char *);
 int    transport_set_vpd_ident_type(struct t10_vpd *, unsigned char *);