Commit 7ee8684c authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Daniel Verkamp
Browse files

iscsi/rpc: Extract dump config into functions



This patch is a preparation to match response of dump with request
of construct (load).

Change-Id: I08d0e860ecd842fabf2bbea0b888a60ffd51b055
Signed-off-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/399992


Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
parent 33278429
Loading
Loading
Loading
Loading
+131 −109
Original line number Diff line number Diff line
@@ -45,28 +45,11 @@
#include "spdk_internal/log.h"

static void
spdk_rpc_get_initiator_groups(struct spdk_jsonrpc_request *request,
			      const struct spdk_json_val *params)
dump_initiator_group(struct spdk_json_write_ctx *w, struct spdk_iscsi_init_grp *ig)
{
	struct spdk_json_write_ctx *w;
	struct spdk_iscsi_init_grp *ig;
	struct spdk_iscsi_initiator_name *iname;
	struct spdk_iscsi_initiator_netmask *imask;

	if (params != NULL) {
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
						 "get_initiator_groups requires no parameters");
		return;
	}

	w = spdk_jsonrpc_begin_result(request);
	if (w == NULL) {
		return;
	}

	spdk_json_write_array_begin(w);

	TAILQ_FOREACH(ig, &g_spdk_iscsi.ig_head, tailq) {
	spdk_json_write_object_begin(w);

	spdk_json_write_name(w, "initiators");
@@ -89,6 +72,30 @@ spdk_rpc_get_initiator_groups(struct spdk_jsonrpc_request *request,
	spdk_json_write_object_end(w);
}

static void
spdk_rpc_get_initiator_groups(struct spdk_jsonrpc_request *request,
			      const struct spdk_json_val *params)
{
	struct spdk_json_write_ctx *w;
	struct spdk_iscsi_init_grp *ig;

	if (params != NULL) {
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
						 "get_initiator_groups requires no parameters");
		return;
	}

	w = spdk_jsonrpc_begin_result(request);
	if (w == NULL) {
		return;
	}

	spdk_json_write_array_begin(w);

	TAILQ_FOREACH(ig, &g_spdk_iscsi.ig_head, tailq) {
		dump_initiator_group(w, ig);
	}

	spdk_json_write_array_end(w);

	spdk_jsonrpc_end_result(request, w);
@@ -336,29 +343,12 @@ invalid:
SPDK_RPC_REGISTER("delete_initiator_group", spdk_rpc_delete_initiator_group)

static void
spdk_rpc_get_target_nodes(struct spdk_jsonrpc_request *request,
			  const struct spdk_json_val *params)
dump_target_node(struct spdk_json_write_ctx *w, struct spdk_iscsi_tgt_node *tgtnode)
{
	struct spdk_json_write_ctx *w;
	struct spdk_iscsi_tgt_node *tgtnode;
	struct spdk_iscsi_pg_map *pg_map;
	struct spdk_iscsi_ig_map *ig_map;
	int i;

	if (params != NULL) {
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
						 "get_target_nodes requires no parameters");
		return;
	}

	w = spdk_jsonrpc_begin_result(request);
	if (w == NULL) {
		return;
	}

	spdk_json_write_array_begin(w);

	TAILQ_FOREACH(tgtnode, &g_spdk_iscsi.target_head, tailq) {
	spdk_json_write_object_begin(w);

	spdk_json_write_name(w, "name");
@@ -426,6 +416,31 @@ spdk_rpc_get_target_nodes(struct spdk_jsonrpc_request *request,

	spdk_json_write_object_end(w);
}

static void
spdk_rpc_get_target_nodes(struct spdk_jsonrpc_request *request,
			  const struct spdk_json_val *params)
{
	struct spdk_json_write_ctx *w;
	struct spdk_iscsi_tgt_node *tgtnode;

	if (params != NULL) {
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
						 "get_target_nodes requires no parameters");
		return;
	}

	w = spdk_jsonrpc_begin_result(request);
	if (w == NULL) {
		return;
	}

	spdk_json_write_array_begin(w);

	TAILQ_FOREACH(tgtnode, &g_spdk_iscsi.target_head, tailq) {
		dump_target_node(w, tgtnode);
	}

	spdk_json_write_array_end(w);

	spdk_jsonrpc_end_result(request, w);
@@ -786,27 +801,10 @@ invalid:
SPDK_RPC_REGISTER("delete_target_node", spdk_rpc_delete_target_node)

static void
spdk_rpc_get_portal_groups(struct spdk_jsonrpc_request *request,
			   const struct spdk_json_val *params)
dump_portal_group(struct spdk_json_write_ctx *w, struct spdk_iscsi_portal_grp *pg)
{
	struct spdk_json_write_ctx *w;
	struct spdk_iscsi_portal_grp *pg;
	struct spdk_iscsi_portal *portal;

	if (params != NULL) {
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
						 "get_portal_groups requires no parameters");
		return;
	}

	w = spdk_jsonrpc_begin_result(request);
	if (w == NULL) {
		return;
	}

	spdk_json_write_array_begin(w);

	TAILQ_FOREACH(pg, &g_spdk_iscsi.pg_head, tailq) {
	spdk_json_write_object_begin(w);

	spdk_json_write_name(w, "portals");
@@ -829,6 +827,30 @@ spdk_rpc_get_portal_groups(struct spdk_jsonrpc_request *request,
	spdk_json_write_object_end(w);
}

static void
spdk_rpc_get_portal_groups(struct spdk_jsonrpc_request *request,
			   const struct spdk_json_val *params)
{
	struct spdk_json_write_ctx *w;
	struct spdk_iscsi_portal_grp *pg;

	if (params != NULL) {
		spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
						 "get_portal_groups requires no parameters");
		return;
	}

	w = spdk_jsonrpc_begin_result(request);
	if (w == NULL) {
		return;
	}

	spdk_json_write_array_begin(w);

	TAILQ_FOREACH(pg, &g_spdk_iscsi.pg_head, tailq) {
		dump_portal_group(w, pg);
	}

	spdk_json_write_array_end(w);

	spdk_jsonrpc_end_result(request, w);