]> git.dujemihanovic.xyz Git - u-boot.git/commit
nvme: Skip block device creation for inactive namespaces
authorBin Meng <bmeng.cn@gmail.com>
Tue, 22 Jun 2021 13:16:18 +0000 (21:16 +0800)
committerBin Meng <bmeng.cn@gmail.com>
Wed, 23 Jun 2021 09:21:14 +0000 (17:21 +0800)
commit478f7fc6a04ae81af550b56b31f18af24cf3f262
tree6fbda11b023a059981b8828269c42764d3c0524f
parent84344258f23fb9ac5abe7383c909f8606ac767b6
nvme: Skip block device creation for inactive namespaces

At present for each namespace there is a block device created for it.
There is no issue if the number of supported namespaces reported from
the NVMe device is only 1.

Since QEMU commit 7f0f1acedf15 ("hw/block/nvme: support multiple namespaces"),
the number of supported namespaces reported has been changed from 1
to 256, but not all of them are active namespaces. The actual active
one depends on the QEMU command line parameters. A common case is
that namespace 1 being active and all other 255 being inactive.

If a namespace is inactive, the namespace identify command returns a
zero filled data structure. We can use field NSZE (namespace size) to
decide whether a block device should be created for it.

Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
drivers/nvme/nvme.c