diff options
author | Damien Le Moal <damien.lemoal@wdc.com> | 2016-11-11 06:53:26 +0100 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-11-14 21:16:42 +0100 |
commit | c6463c651d7ab599a4878115723a5bcb6ae5b470 (patch) | |
tree | bd28799ca575bccb68122445b81ae84b1da0c756 /drivers/block/loop.c | |
parent | bsg: Add sparse annotations to bsg_request_fn() (diff) | |
download | linux-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