Commit ffe00675 authored by Nicholas Bellinger's avatar Nicholas Bellinger

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: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent 13f6a914
...@@ -481,7 +481,7 @@ iblock_execute_write_same(struct se_cmd *cmd) ...@@ -481,7 +481,7 @@ iblock_execute_write_same(struct se_cmd *cmd)
struct bio *bio; struct bio *bio;
struct bio_list list; struct bio_list list;
sector_t block_lba = cmd->t_task_lba; 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]; sg = &cmd->t_data_sg[0];
......
...@@ -107,7 +107,7 @@ sbc_emulate_readcapacity_16(struct se_cmd *cmd) ...@@ -107,7 +107,7 @@ sbc_emulate_readcapacity_16(struct se_cmd *cmd)
return 0; 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; u32 num_blocks;
......
...@@ -52,7 +52,7 @@ void target_complete_cmd(struct se_cmd *, u8); ...@@ -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_parse_cdb(struct se_cmd *cmd, unsigned int *size);
sense_reason_t spc_emulate_report_luns(struct se_cmd *cmd); 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); sense_reason_t sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops);
u32 sbc_get_device_rev(struct se_device *dev); u32 sbc_get_device_rev(struct se_device *dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment