Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ee80c3d authored by Max Gurtovoy's avatar Max Gurtovoy Committed by Jens Axboe
Browse files

nvme-rdma: move nvme cm status helper to .h file



This will enable the usage for nvme rdma target.
Also move from a lookup array to a switch statement.

Signed-off-by: default avatarMax Gurtovoy <maxg@mellanox.com>
Reviewed-by: default avatarParav Pandit <parav@mellanox.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarSagi Grimberg <sagi@grimberg.me>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent faef3af6
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -42,28 +42,6 @@

#define NVME_RDMA_MAX_INLINE_SEGMENTS	1

static const char *const nvme_rdma_cm_status_strs[] = {
	[NVME_RDMA_CM_INVALID_LEN]	= "invalid length",
	[NVME_RDMA_CM_INVALID_RECFMT]	= "invalid record format",
	[NVME_RDMA_CM_INVALID_QID]	= "invalid queue ID",
	[NVME_RDMA_CM_INVALID_HSQSIZE]	= "invalid host SQ size",
	[NVME_RDMA_CM_INVALID_HRQSIZE]	= "invalid host RQ size",
	[NVME_RDMA_CM_NO_RSC]		= "resource not found",
	[NVME_RDMA_CM_INVALID_IRD]	= "invalid IRD",
	[NVME_RDMA_CM_INVALID_ORD]	= "Invalid ORD",
};

static const char *nvme_rdma_cm_msg(enum nvme_rdma_cm_status status)
{
	size_t index = status;

	if (index < ARRAY_SIZE(nvme_rdma_cm_status_strs) &&
	    nvme_rdma_cm_status_strs[index])
		return nvme_rdma_cm_status_strs[index];
	else
		return "unrecognized reason";
};

/*
 * We handle AEN commands ourselves and don't even let the
 * block layer know about them.
+24 −0
Original line number Diff line number Diff line
@@ -29,6 +29,30 @@ enum nvme_rdma_cm_status {
	NVME_RDMA_CM_INVALID_ORD	= 0x08,
};

static inline const char *nvme_rdma_cm_msg(enum nvme_rdma_cm_status status)
{
	switch (status) {
	case NVME_RDMA_CM_INVALID_LEN:
		return "invalid length";
	case NVME_RDMA_CM_INVALID_RECFMT:
		return "invalid record format";
	case NVME_RDMA_CM_INVALID_QID:
		return "invalid queue ID";
	case NVME_RDMA_CM_INVALID_HSQSIZE:
		return "invalid host SQ size";
	case NVME_RDMA_CM_INVALID_HRQSIZE:
		return "invalid host RQ size";
	case NVME_RDMA_CM_NO_RSC:
		return "resource not found";
	case NVME_RDMA_CM_INVALID_IRD:
		return "invalid IRD";
	case NVME_RDMA_CM_INVALID_ORD:
		return "Invalid ORD";
	default:
		return "unrecognized reason";
	}
}

/**
 * struct nvme_rdma_cm_req - rdma connect request
 *