a9593c7981
The originally detected problem is that SPDK NVMf target fails command with invalid opcode with status code INTERNAL_DEVICE_ERROR instead of INVALID_OPCODE. All unknown commands on IO queue are passed to underlying block device layer as NVME_IO type. It is not checked if this type of commands is supported and, when command fails, INTERNAL_DEVICE_ERROR is set as status code. If command fails on submission, status code is set to INVALID_OPCODE which is more relevant. This patch adds check if command type is supported to bdev_nvme_*_passthru functions. If not supported, it is failed with ENOTSUP. Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com> Change-Id: I4d7f7639da17dd3b1dc3eee7eb1b4a4f876117a2 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8567 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> |
||
---|---|---|
.. | ||
bdev_internal.h | ||
bdev_rpc.c | ||
bdev_zone.c | ||
bdev.c | ||
Makefile | ||
part.c | ||
scsi_nvme.c | ||
spdk_bdev.map | ||
vtune.c |