From f57842c2ca09158f4cc60a82d669e17ba58a9930 Mon Sep 17 00:00:00 2001 From: Tomasz Kulasek Date: Fri, 13 Dec 2019 06:16:00 -0500 Subject: [PATCH] doc/nvme: using tools with nvme cuse Change-Id: I4d4733c09a8ce0812c92e9cc91db88d36964cad5 Signed-off-by: Tomasz Kulasek Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/477919 Tested-by: SPDK CI Jenkins Community-CI: SPDK CI Jenkins Reviewed-by: Tomasz Zawadzki Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto --- doc/nvme.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/doc/nvme.md b/doc/nvme.md index 88828ee30e..9e5ec53120 100644 --- a/doc/nvme.md +++ b/doc/nvme.md @@ -302,3 +302,29 @@ must be compiled with "./configure --with-nvme-cuse". NVMe CUSE presents character device for controller and namespaces only at the time the controller is being attached. Dynamic creation/deletion of namespaces is not supported yet. + +NVMe namespaces are created as character devices and their use may be limited for +tools expecting block devices. + +Sysfs is not updated by SPDK. + +SPDK NVMe CUSE creates nodes in "/dev/spdk/" directory to explicitly differentiate +from other devices. Tools that only search in the "/dev" directory might not work +with SPDK NVMe CUSE. + +SCSI to NVMe Translation Layer is not implemented. Tools that are using this layer to +identify, manage or operate device might not work properly or their use may be limited. + +### Examples of using smartctl + +smartctl tool recognizes device type based on the device path. If none of expected +patterns match, SCSI translation layer is used to identify device. + +To use smartctl '-d nvme' parameter must be used in addition to full path to +the NVMe device. + +~~~{.sh} + smartctl -d nvme -i /dev/spdk/nvme0 + smartctl -d nvme -H /dev/spdk/nvme1 + ... +~~~