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

Commit 2a8cfad0 authored by Martin K. Petersen's avatar Martin K. Petersen Committed by James Bottomley
Browse files

[SCSI] sd: Unmap discard alignment needs to be converted to bytes



The block layer discard alignment is reported in bytes, not in units of
the logical block size.

Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarJames Bottomley <jbottomley@parallels.com>
parent 45d7f0cc
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -490,7 +490,8 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
	unsigned int max_blocks = 0;
	unsigned int max_blocks = 0;


	q->limits.discard_zeroes_data = sdkp->lbprz;
	q->limits.discard_zeroes_data = sdkp->lbprz;
	q->limits.discard_alignment = sdkp->unmap_alignment;
	q->limits.discard_alignment = sdkp->unmap_alignment *
		logical_block_size;
	q->limits.discard_granularity =
	q->limits.discard_granularity =
		max(sdkp->physical_block_size,
		max(sdkp->physical_block_size,
		    sdkp->unmap_granularity * logical_block_size);
		    sdkp->unmap_granularity * logical_block_size);