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

Commit 6540a65d authored by Martin K. Petersen's avatar Martin K. Petersen
Browse files

sd: Fix discard granularity when LBPRZ=1



Commit 39773722 ("sd: Make discard granularity match logical block
size when LBPRZ=1") accidentally set the granularity to one byte instead
of one logical block on devices that provide deterministic zeroes after
UNMAP.

Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Reported-by: default avatarMike Snitzer <snitzer@redhat.com>
Reviewed-by: default avatarEwan Milne <emilne@redhat.com>
Reviewed-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
Fixes: 39773722
Cc: <stable@vger.kernel.org> #v4.4+
parent 21b81716
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -648,7 +648,7 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
	 */
	 */
	if (sdkp->lbprz) {
	if (sdkp->lbprz) {
		q->limits.discard_alignment = 0;
		q->limits.discard_alignment = 0;
		q->limits.discard_granularity = 1;
		q->limits.discard_granularity = logical_block_size;
	} else {
	} else {
		q->limits.discard_alignment = sdkp->unmap_alignment *
		q->limits.discard_alignment = sdkp->unmap_alignment *
			logical_block_size;
			logical_block_size;