summaryrefslogtreecommitdiffstats
path: root/drivers/nvme/host/nvme.h
diff options
context:
space:
mode:
authorKeith Busch2015-10-22 23:45:06 +0200
committerJens Axboe2015-12-22 17:38:33 +0100
commit540c801c65eb58e05e0ca38b6fd644a83d7e2b33 (patch)
tree075d454c67f120adcc150464fad48ab3bfa9f430 /drivers/nvme/host/nvme.h
parentnvme: switch abort_limit to an atomic_t (diff)
downloadkernel-qcow2-linux-540c801c65eb58e05e0ca38b6fd644a83d7e2b33.tar.gz
kernel-qcow2-linux-540c801c65eb58e05e0ca38b6fd644a83d7e2b33.tar.xz
kernel-qcow2-linux-540c801c65eb58e05e0ca38b6fd644a83d7e2b33.zip
NVMe: Implement namespace list scanning
The NVMe 1.1 specification provides an identify mode to return a list of active namespaces. This is more efficient to discover which namespace identifiers are active on a controller, providing potentially significant improvement in scan time for controllers with sparesly populated namespaces. Signed-off-by: Keith Busch <keith.busch@intel.com> [hch: add quirk for the broken Qemu Identify implementation. To be relaxed later] Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/nvme/host/nvme.h')
-rw-r--r--drivers/nvme/host/nvme.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index 982fa303cec6..2965c469da4a 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -53,6 +53,12 @@ enum nvme_quirks {
* specific Identify field.
*/
NVME_QUIRK_STRIPE_SIZE = (1 << 0),
+
+ /*
+ * The controller doesn't handle Identify value others than 0 or 1
+ * correctly.
+ */
+ NVME_QUIRK_IDENTIFY_CNS = (1 << 1),
};
struct nvme_ctrl {