test/nvmf/subsystem: cases for reservation registrant adding and removing

Change-Id: I4ea45b6a1ccfc252f2a230a7163b765b79e1e927
Signed-off-by: Mao Jiang <maox.jiang@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7301
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Mao Jiang 2021-04-09 19:21:22 +08:00 committed by Jim Harris
parent da831cf82a
commit 567a3da8ca

View File

@ -1362,6 +1362,29 @@ test_spdk_nvmf_ns_event(void)
free(tgt.subsystems); free(tgt.subsystems);
} }
static void
test_nvmf_ns_reservation_add_remove_registrant(void)
{
struct spdk_nvmf_ns ns = {};
struct spdk_nvmf_ctrlr ctrlr = {};
struct spdk_nvmf_registrant *reg = NULL;
int rc;
TAILQ_INIT(&ns.registrants);
spdk_uuid_generate(&ctrlr.hostid);
rc = nvmf_ns_reservation_add_registrant(&ns, &ctrlr, 0xa11);
CU_ASSERT(rc == 0);
reg = TAILQ_FIRST(&ns.registrants);
SPDK_CU_ASSERT_FATAL(reg != NULL);
CU_ASSERT(ns.gen == 1);
CU_ASSERT(reg->rkey == 0xa11);
CU_ASSERT(!strncmp((uint8_t *)&reg->hostid, (uint8_t *)&ctrlr.hostid, sizeof(ctrlr.hostid)));
nvmf_ns_reservation_remove_registrant(&ns, reg);
CU_ASSERT(TAILQ_EMPTY(&ns.registrants));
CU_ASSERT(ns.gen == 2);
}
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
@ -1387,6 +1410,7 @@ int main(int argc, char **argv)
CU_ADD_TEST(suite, test_reservation_clear_notification); CU_ADD_TEST(suite, test_reservation_clear_notification);
CU_ADD_TEST(suite, test_reservation_preempt_notification); CU_ADD_TEST(suite, test_reservation_preempt_notification);
CU_ADD_TEST(suite, test_spdk_nvmf_ns_event); CU_ADD_TEST(suite, test_spdk_nvmf_ns_event);
CU_ADD_TEST(suite, test_nvmf_ns_reservation_add_remove_registrant);
allocate_threads(1); allocate_threads(1);
set_thread(0); set_thread(0);