From a77188cdea0dc286b342e37a560e955e188e242f Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Tue, 7 Sep 2021 15:07:50 +0900 Subject: [PATCH] nvme: Add three macros for multipath Signed-off-by: Shuhei Matsumoto Change-Id: I7632d1572c261256d6c759a22f3f40dcd311b7c9 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9417 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker --- include/spdk/nvme_spec.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/spdk/nvme_spec.h b/include/spdk/nvme_spec.h index 575d09aa0..94ef61403 100644 --- a/include/spdk/nvme_spec.h +++ b/include/spdk/nvme_spec.h @@ -3572,6 +3572,23 @@ SPDK_STATIC_ASSERT(sizeof(struct spdk_nvme_ns_streams_status) == 131072, "Incorr #define spdk_nvme_cpl_is_abort_success(cpl) \ (spdk_nvme_cpl_is_success(cpl) && !((cpl)->cdw0 & 1U)) +#define spdk_nvme_cpl_is_path_error(cpl) \ + ((cpl)->status.sct == SPDK_NVME_SCT_PATH) + +#define spdk_nvme_cpl_is_ana_error(cpl) \ + ((cpl)->status.sct == SPDK_NVME_SCT_PATH && \ + ((cpl)->status.sc == SPDK_NVME_SC_ASYMMETRIC_ACCESS_PERSISTENT_LOSS || \ + (cpl)->status.sc == SPDK_NVME_SC_ASYMMETRIC_ACCESS_INACCESSIBLE || \ + (cpl)->status.sc == SPDK_NVME_SC_ASYMMETRIC_ACCESS_TRANSITION)) + +#define spdk_nvme_cpl_is_aborted_sq_deletion(cpl) \ + ((cpl)->status.sct == SPDK_NVME_SCT_GENERIC && \ + (cpl)->status.sc == SPDK_NVME_SC_ABORTED_SQ_DELETION) + +#define spdk_nvme_cpl_is_aborted_by_request(cpl) \ + ((cpl)->status.sct == SPDK_NVME_SCT_GENERIC && \ + (cpl)->status.sc == SPDK_NVME_SC_ABORTED_BY_REQUEST) + /** Set fused operation */ #define SPDK_NVME_IO_FLAGS_FUSE_FIRST (SPDK_NVME_CMD_FUSE_FIRST << 0) #define SPDK_NVME_IO_FLAGS_FUSE_SECOND (SPDK_NVME_CMD_FUSE_SECOND << 0)