+2
−2
Loading
Latest nvme-cli (>= 1.13) fails to issue commands towards SPDK's cuse ctrl device, e.g.: $ nvme get-feature /dev/spdk/nvme0 -f 1 -s 1 -l 100 nvme_cuse.c: 654:cuse_ctrlr_ioctl: *ERROR*: Unsupported IOCTL 0x4E40. get-namespace-id: Invalid argument The reason is because nvme-cli now also sends NVME_IOCTL_ID to the target device to determine if it's indeed a controller or a ns. In case kernel returns ENOTTY then nvme-cli considers the device to be a controller. Since cuse_ctrlr_ioctl() returns EINVAL in such a case the nvme-cli fails. To avoid this simply replace EINVAL with ENOTTY for the ioctls that may be not supported by ctrl or ns device. nvme-cli commit in question: https://github.com/linux-nvme/nvme-cli/commit/fa2b91da7439b776a7eb01af9e2b23ac1373c027 Signed-off-by:Michal Berger <michalx.berger@intel.com> Change-Id: I29003864bc2a5c1a8906d6d01beba3d6f4e31b0e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8531 Community-CI: Mellanox Build Bot Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-by:
Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by:
Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>