]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
scsi: sd: Align maximum write same blocks to physical block size
authorDamien Le Moal <damien.lemoal@wdc.com>
Tue, 5 Sep 2017 11:55:35 +0000 (20:55 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 25 Sep 2017 19:36:40 +0000 (15:36 -0400)
commitb7af62a945706e32b987f1dd0cc86bb41a8210c3
tree15df12bb5e5557b5663ed18a90831a30c8f24830
parentff6e88f193c654449bf222450553a7fa16a75ca7
scsi: sd: Align maximum write same blocks to physical block size

Reporting a maximum number of blocks that is not aligned on the device
physical size would cause a large write same request to be split into
physically unaligned chunks by __blkdev_issue_write_zeroes() and
__blkdev_issue_write_same(), even if the caller of these functions took
care to align its request to physical sectors.

Make sure the maximum reported is aligned to the device physical block
size. This is only an optional optimization for regular disks, but this
is mandatory to avoid failure of large write same requests directed at
sequential write required zones of host-managed ZBC disks.

[mkp: tweaked commit message]

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/sd.c