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: Young Tack Jin <youngtack.jin@circuitblvd.com>
Reviewed-on: https://review.gerrithub.io/417177
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Young Tack Jin 2018-06-28 10:39:10 -07:00 committed by Jim Harris
parent de2492fa8d
commit 459af2f0d4

View File

@ -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
*/