nvmet: don't look at the request_queue in nvmet_bdev_set_limits
nvmet is a consumer of the block layer and should not directly look at the request_queue. Use the bdev_ helpers to retrieve the device limits instead. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Keith Busch <kbusch@kernel.org>
This commit is contained in:
parent
8df20252c0
commit
84fe64f898
@ -12,11 +12,9 @@
|
||||
|
||||
void nvmet_bdev_set_limits(struct block_device *bdev, struct nvme_id_ns *id)
|
||||
{
|
||||
const struct queue_limits *ql = &bdev_get_queue(bdev)->limits;
|
||||
/* Number of logical blocks per physical block. */
|
||||
const u32 lpp = ql->physical_block_size / ql->logical_block_size;
|
||||
/* Logical blocks per physical block, 0's based. */
|
||||
const __le16 lpp0b = to0based(lpp);
|
||||
const __le16 lpp0b = to0based(bdev_physical_block_size(bdev) /
|
||||
bdev_logical_block_size(bdev));
|
||||
|
||||
/*
|
||||
* For NVMe 1.2 and later, bit 1 indicates that the fields NAWUN,
|
||||
@ -42,11 +40,12 @@ void nvmet_bdev_set_limits(struct block_device *bdev, struct nvme_id_ns *id)
|
||||
/* NPWA = Namespace Preferred Write Alignment. 0's based */
|
||||
id->npwa = id->npwg;
|
||||
/* NPDG = Namespace Preferred Deallocate Granularity. 0's based */
|
||||
id->npdg = to0based(ql->discard_granularity / ql->logical_block_size);
|
||||
id->npdg = to0based(bdev_discard_granularity(bdev) /
|
||||
bdev_logical_block_size(bdev));
|
||||
/* NPDG = Namespace Preferred Deallocate Alignment */
|
||||
id->npda = id->npdg;
|
||||
/* NOWS = Namespace Optimal Write Size */
|
||||
id->nows = to0based(ql->io_opt / ql->logical_block_size);
|
||||
id->nows = to0based(bdev_io_opt(bdev) / bdev_logical_block_size(bdev));
|
||||
}
|
||||
|
||||
void nvmet_bdev_ns_disable(struct nvmet_ns *ns)
|
||||
|
Loading…
Reference in New Issue
Block a user