From 5bf0a3838c8f7148d04f856f849d30a4f488b26b Mon Sep 17 00:00:00 2001 From: Darek Stojaczyk Date: Mon, 8 Apr 2019 23:51:12 +0200 Subject: [PATCH] iscsi: allocate sessions array using regular calloc spdk_dma_malloc() is not required here, as the session array is nether DMA-able nor shared between processes. Change-Id: Ia9218d00eea8a3207abf07c1d78eaa585ffcad2c Signed-off-by: Darek Stojaczyk Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450552 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Ben Walker Reviewed-by: Changpeng Liu --- lib/iscsi/iscsi_subsystem.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/iscsi/iscsi_subsystem.c b/lib/iscsi/iscsi_subsystem.c index 6b7fdf472..a9e8145b7 100644 --- a/lib/iscsi/iscsi_subsystem.c +++ b/lib/iscsi/iscsi_subsystem.c @@ -1291,9 +1291,9 @@ iscsi_parse_globals(void) return rc; } - g_spdk_iscsi.session = spdk_dma_zmalloc(sizeof(void *) * g_spdk_iscsi.MaxSessions, 0, NULL); + g_spdk_iscsi.session = calloc(1, sizeof(void *) * g_spdk_iscsi.MaxSessions); if (!g_spdk_iscsi.session) { - SPDK_ERRLOG("spdk_dma_zmalloc() failed for session array\n"); + SPDK_ERRLOG("calloc() failed for session array\n"); return -1; } @@ -1308,12 +1308,14 @@ iscsi_parse_globals(void) rc = iscsi_initialize_all_pools(); if (rc != 0) { SPDK_ERRLOG("spdk_initialize_all_pools() failed\n"); + free(g_spdk_iscsi.session); return -1; } rc = spdk_initialize_iscsi_conns(); if (rc < 0) { SPDK_ERRLOG("spdk_initialize_iscsi_conns() failed\n"); + free(g_spdk_iscsi.session); return rc; } @@ -1351,6 +1353,7 @@ spdk_iscsi_fini(spdk_iscsi_fini_cb cb_fn, void *cb_arg) spdk_iscsi_portal_grp_close_all(); spdk_shutdown_iscsi_conns(); + free(g_spdk_iscsi.session); } static void