Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffe00675 authored by Nicholas Bellinger's avatar Nicholas Bellinger
Browse files

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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];

+1 −1
Original line number Diff line number Diff line
@@ -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;

+1 −1
Original line number Diff line number Diff line
@@ -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);