From ef02d13d3e047cfd00232fe38b0880e93850eb1e Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Thu, 8 Mar 2018 11:57:08 +0900 Subject: [PATCH] iscsi: Move PG and IG configuration right before target nodes configuration Object creation of portal, portal group, and initiator group can be done by JSON-RPC. This patch moves object creation of portal, portal group, and initiator group right before object creation of target node. The purpose of the patch series is - to separate iSCSI subsystem initialization and iSCSI subsystem configuration, and - to develop a new JSON-RPC by reusing the separated iSCSI subsystem initialization. Change-Id: If78beabb478923e7c920c09b16e42d6f8aa55775 Signed-off-by: Shuhei Matsumoto Reviewed-on: https://review.gerrithub.io/403141 Tested-by: SPDK Automated Test System Reviewed-by: Daniel Verkamp Reviewed-by: Jim Harris --- lib/iscsi/iscsi_subsystem.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/iscsi/iscsi_subsystem.c b/lib/iscsi/iscsi_subsystem.c index 5d411f177..99868a262 100644 --- a/lib/iscsi/iscsi_subsystem.c +++ b/lib/iscsi/iscsi_subsystem.c @@ -807,20 +807,6 @@ spdk_iscsi_app_read_parameters(void) spdk_iscsi_log_globals(); - /* portal groups */ - rc = spdk_iscsi_portal_grp_array_create(); - if (rc < 0) { - SPDK_ERRLOG("spdk_iscsi_portal_grp_array_create() failed\n"); - return -1; - } - - /* initiator groups */ - rc = spdk_iscsi_init_grp_array_create(); - if (rc < 0) { - SPDK_ERRLOG("spdk_iscsi_init_grp_array_create() failed\n"); - return -1; - } - return 0; } @@ -946,6 +932,20 @@ spdk_iscsi_init(spdk_iscsi_init_cb cb_fn, void *cb_arg) return; } + rc = spdk_iscsi_portal_grp_array_create(); + if (rc < 0) { + SPDK_ERRLOG("spdk_iscsi_portal_grp_array_create() failed\n"); + spdk_iscsi_init_complete(-1); + return; + } + + rc = spdk_iscsi_init_grp_array_create(); + if (rc < 0) { + SPDK_ERRLOG("spdk_iscsi_init_grp_array_create() failed\n"); + spdk_iscsi_init_complete(-1); + return; + } + rc = spdk_iscsi_init_tgt_nodes(); if (rc < 0) { SPDK_ERRLOG("spdk_iscsi_init_tgt_nodes() failed\n");