test/nvme_ctrlr_ocssd_cmd: initialize mutex

For correct behaviour, pthread_mutex must be initialized before use
and destroyed afterwards. Add mutex initialization to
DECLARE_AND_CONSTRUCT_CTRLR and add DECONSTRUCT_CTRLR
to cleanup afterwards.

Tested with a pthreads library that contains debugging code to
check the mutex state.

Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
Change-Id: Ifefec17b44ac01769fd9d041119fa093b4e9d8b2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6155
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Nick Connolly 2021-01-28 18:26:26 +00:00 committed by Tomasz Zawadzki
parent 05aaac9c14
commit b6748a41eb

View File

@ -42,7 +42,11 @@
\
STAILQ_INIT(&adminq.free_req); \
STAILQ_INSERT_HEAD(&adminq.free_req, &req, stailq); \
ctrlr.adminq = &adminq;
ctrlr.adminq = &adminq; \
CU_ASSERT(pthread_mutex_init(&ctrlr.ctrlr_lock, NULL) == 0);
#define DECONSTRUCT_CTRLR() \
CU_ASSERT(pthread_mutex_destroy(&ctrlr.ctrlr_lock) == 0);
pid_t g_spdk_nvme_pid;
struct nvme_request g_req;
@ -84,6 +88,8 @@ test_geometry_cmd(void)
spdk_nvme_ocssd_ctrlr_cmd_geometry(&ctrlr, expected_geometry_ns, &geo,
sizeof(geo), NULL, NULL);
DECONSTRUCT_CTRLR();
}
int main(int argc, char **argv)