diff options
author | Keith Busch <keith.busch@intel.com> | 2015-04-23 19:24:45 +0300 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-04-23 19:25:36 +0300 |
commit | 9283b42e46c2646dff1bec47e2dd683add7f9972 (patch) | |
tree | e156102ae49e252a3d84e75f4e9e33930c758d9b | |
parent | e076b7c1343e0810880e6b909445f06921f31067 (diff) | |
download | linux-9283b42e46c2646dff1bec47e2dd683add7f9972.tar.xz |
NVMe: Fix VPD B0 max sectors translation
Use the namespace's block format for reporting the max transfer length.
Max unmap count is left as-is since NVMe doesn't provide a max, so the
value the driver provided the block layer is valid for any format.
Reported-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r-- | drivers/block/nvme-scsi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/block/nvme-scsi.c b/drivers/block/nvme-scsi.c index 6b736b00f63e..88f13c525712 100644 --- a/drivers/block/nvme-scsi.c +++ b/drivers/block/nvme-scsi.c @@ -944,7 +944,8 @@ static int nvme_trans_ext_inq_page(struct nvme_ns *ns, struct sg_io_hdr *hdr, static int nvme_trans_bdev_limits_page(struct nvme_ns *ns, struct sg_io_hdr *hdr, u8 *inq_response, int alloc_len) { - __be32 max_sectors = cpu_to_be32(queue_max_hw_sectors(ns->queue)); + __be32 max_sectors = cpu_to_be32( + nvme_block_nr(ns, queue_max_hw_sectors(ns->queue))); __be32 max_discard = cpu_to_be32(ns->queue->limits.max_discard_sectors); __be32 discard_desc_count = cpu_to_be32(0x100); |