Commit 459af2f0 authored by Young Tack Jin's avatar Young Tack Jin Committed by Jim Harris
Browse files

ocssd: lba_status bit array on vector completion queue entry



This can be tested with lb_err_write and ln_err_write of QEMU NVMe options

Change-Id: I16672f015ed4fec1386d27b974f4cd6c88decdf9
Signed-off-by: default avatarYoung Tack Jin <youngtack.jin@circuitblvd.com>
Reviewed-on: https://review.gerrithub.io/417177


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent de2492fa
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ extern "C" {
#endif

#include "spdk/assert.h"
#include "spdk/nvme_spec.h"

/** A maximum number of LBAs that can be issued by vector I/O commands */
#define SPDK_NVME_OCSSD_MAX_LBAL_ENTRIES	64
@@ -209,6 +210,23 @@ struct spdk_ocssd_chunk_information {
};
SPDK_STATIC_ASSERT(sizeof(struct spdk_ocssd_chunk_information) == 32, "Incorrect size");

/**
 * Vector completion queue entry
 */
struct spdk_ocssd_vector_cpl {
	/* dword 0,1 */
	uint64_t		lba_status;	/* completion status bit array */

	/* dword 2 */
	uint16_t		sqhd;	/* submission queue head pointer */
	uint16_t		sqid;	/* submission queue identifier */

	/* dword 3 */
	uint16_t		cid;	/* command identifier */
	struct spdk_nvme_status	status;
};
SPDK_STATIC_ASSERT(sizeof(struct spdk_ocssd_vector_cpl) == 16, "Incorrect size");

/**
 * OCSSD admin command set opcodes
 */