]> www.infradead.org Git - users/dwmw2/linux.git/commit
nvme: use command set independent id ns if available
authorMatias Bjørling <matias.bjorling@wdc.com>
Tue, 8 Oct 2024 14:55:02 +0000 (16:55 +0200)
committerKeith Busch <kbusch@kernel.org>
Mon, 11 Nov 2024 17:49:50 +0000 (09:49 -0800)
commitee9f36db1f2fbd2ad304c0875415c598a2644e73
treea7b844ee65be242802c32f961ebd8b273474e8af
parente2758c76a0ab2032a0d11abc1c2ff08661fdf428
nvme: use command set independent id ns if available

The NVMe 2.0 specification adds an independent identify namespace
data structure that contains generic attributes that apply to all
namespace types. Some attributes carry over from the NVM command set
identify namespace data structure, and others are new.

Currently, the data structure only considered when CRIMS is enabled or
when the namespace type is key-value.

However, the independent namespace data structure is mandatory for
devices that implement features from the 2.0+ specification. Therefore,
we can check this data structure first. If unavailable, retrieve the
generic attributes from the NVM command set identify namespace data
structure.

Signed-off-by: Matias Bjørling <matias.bjorling@wdc.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/core.c