aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2012-11-27 19:07:52 -0800
committerNicholas Bellinger <nab@linux-iscsi.org>2012-11-27 22:49:25 -0800
commitffe0067544f93c0e71c793d7f17240486d091a3c (patch)
treed5008fdf846ed6f6575e65abe4c7bf7a267da2f1
parent13f6a91479b06133eb99f1f43be02608eb867313 (diff)
target: Make spc_get_write_same_sectors return sector_t
We already expect TFO->get_blocks() to return sector_t for zero value case when doing WRITE_SAME to the end of the backend device, so go ahead and return sector_t from spc_get_write_same_sectors() to handle this case properly. Also, update the single iblock_execute_write_same() caller of this code. Cc: Christoph Hellwig <hch@lst.de> Cc: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
-rw-r--r--drivers/target/target_core_iblock.c2
-rw-r--r--drivers/target/target_core_sbc.c2
-rw-r--r--include/target/target_core_backend.h2
3 files changed, 3 insertions, 3 deletions
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index 34f258b4d37..b526d23dcd4 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -481,7 +481,7 @@ iblock_execute_write_same(struct se_cmd *cmd)
struct bio *bio;
struct bio_list list;
sector_t block_lba = cmd->t_task_lba;
- unsigned int sectors = spc_get_write_same_sectors(cmd);
+ sector_t sectors = spc_get_write_same_sectors(cmd);
sg = &cmd->t_data_sg[0];
diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c
index 94fd004ea3f..26a6d183ccb 100644
--- a/drivers/target/target_core_sbc.c
+++ b/drivers/target/target_core_sbc.c
@@ -107,7 +107,7 @@ sbc_emulate_readcapacity_16(struct se_cmd *cmd)
return 0;
}
-int spc_get_write_same_sectors(struct se_cmd *cmd)
+sector_t spc_get_write_same_sectors(struct se_cmd *cmd)
{
u32 num_blocks;
diff --git a/include/target/target_core_backend.h b/include/target/target_core_backend.h
index 3393ab10766..507910992c5 100644
--- a/include/target/target_core_backend.h
+++ b/include/target/target_core_backend.h
@@ -52,7 +52,7 @@ void target_complete_cmd(struct se_cmd *, u8);
sense_reason_t spc_parse_cdb(struct se_cmd *cmd, unsigned int *size);
sense_reason_t spc_emulate_report_luns(struct se_cmd *cmd);
-int spc_get_write_same_sectors(struct se_cmd *cmd);
+sector_t spc_get_write_same_sectors(struct se_cmd *cmd);
sense_reason_t sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops);
u32 sbc_get_device_rev(struct se_device *dev);