summaryrefslogtreecommitdiffstats
path: root/drivers/block/loop.c
diff options
context:
space:
mode:
authorDamien Le Moal <damien.lemoal@wdc.com>2016-11-11 06:53:26 +0100
committerJens Axboe <axboe@fb.com>2016-11-14 21:16:42 +0100
commitc6463c651d7ab599a4878115723a5bcb6ae5b470 (patch)
treebd28799ca575bccb68122445b81ae84b1da0c756 /drivers/block/loop.c
parentbsg: Add sparse annotations to bsg_request_fn() (diff)
downloadlinux-c6463c651d7ab599a4878115723a5bcb6ae5b470.tar.xz
linux-c6463c651d7ab599a4878115723a5bcb6ae5b470.zip
sd_zbc: Force use of READ16/WRITE16
Normally, sd_read_capacity sets sdp->use_16_for_rw to 1 based on the disk capacity so that READ16/WRITE16 are used for large drives. However, for a zoned disk with RC_BASIS set to 0, the capacity reported through READ_CAPACITY may be very small, leading to use_16_for_rw not being set and READ10/WRITE10 commands being used, even after the actual zoned disk capacity is corrected in sd_zbc_read_zones. This causes LBA offset overflow for accesses beyond 2TB. As the ZBC standard makes it mandatory for ZBC drives to support the READ16/WRITE16 commands anyway, make sure that use_16_for_rw is set. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> eviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions