mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 21:30:53 +07:00
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>
This commit is contained in:
parent
13f6a91479
commit
ffe0067544
@ -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)
|
|||||||
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);
|
|||||||
|
|
||||||
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);
|
||||||
|
Loading…
Reference in New Issue
Block a user