Commit 863eb9e0 authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Jim Harris
Browse files

iscsi: Remove gropu_state from IG and PG



By supporting the management based on linked list for PG and IG
the group state of PG and IG are no longer necessary.

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


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
parent f4e892fe
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -61,7 +61,6 @@ spdk_iscsi_init_grp_create(int tag)
	}

	ig->tag = tag;
	ig->state = GROUP_INIT;
	TAILQ_INIT(&ig->initiator_head);
	TAILQ_INIT(&ig->netmask_head);
	return ig;
@@ -473,7 +472,6 @@ spdk_iscsi_init_grp_register(struct spdk_iscsi_init_grp *ig)
	assert(ig != NULL);

	pthread_mutex_lock(&g_spdk_iscsi.mutex);
	ig->state = GROUP_READY;
	TAILQ_INSERT_TAIL(&g_spdk_iscsi.ig_head, ig, tailq);
	pthread_mutex_unlock(&g_spdk_iscsi.mutex);
}
@@ -511,7 +509,6 @@ spdk_iscsi_init_grp_array_destroy(void)
	SPDK_DEBUGLOG(SPDK_TRACE_ISCSI, "spdk_iscsi_init_grp_array_destroy\n");
	pthread_mutex_lock(&g_spdk_iscsi.mutex);
	TAILQ_FOREACH_SAFE(ig, &g_spdk_iscsi.ig_head, tailq, tmp) {
		ig->state = GROUP_DESTROY;
		TAILQ_REMOVE(&g_spdk_iscsi.ig_head, ig, tailq);
		spdk_iscsi_init_grp_destroy(ig);
	}
+0 −7
Original line number Diff line number Diff line
@@ -37,12 +37,6 @@

#include "spdk/conf.h"

enum group_state {
	GROUP_INIT = 0x0,
	GROUP_READY = 0x1,
	GROUP_DESTROY = 0x2,
};

struct spdk_iscsi_initiator_name {
	char *name;
	TAILQ_ENTRY(spdk_iscsi_initiator_name) tailq;
@@ -60,7 +54,6 @@ struct spdk_iscsi_init_grp {
	TAILQ_HEAD(, spdk_iscsi_initiator_netmask) netmask_head;
	int ref;
	int tag;
	enum group_state state;
	TAILQ_ENTRY(spdk_iscsi_init_grp)	tailq;
};

+0 −3
Original line number Diff line number Diff line
@@ -328,7 +328,6 @@ spdk_iscsi_portal_grp_create(int tag)
		return NULL;
	}

	pg->state = GROUP_INIT;
	pg->ref = 0;
	pg->tag = tag;

@@ -360,7 +359,6 @@ spdk_iscsi_portal_grp_register(struct spdk_iscsi_portal_grp *pg)
	assert(!TAILQ_EMPTY(&pg->head));

	pthread_mutex_lock(&g_spdk_iscsi.mutex);
	pg->state = GROUP_READY;
	TAILQ_INSERT_TAIL(&g_spdk_iscsi.pg_head, pg, tailq);
	pthread_mutex_unlock(&g_spdk_iscsi.mutex);
}
@@ -562,7 +560,6 @@ spdk_iscsi_portal_grp_array_destroy(void)
	SPDK_DEBUGLOG(SPDK_TRACE_ISCSI, "spdk_iscsi_portal_grp_array_destroy\n");
	pthread_mutex_lock(&g_spdk_iscsi.mutex);
	TAILQ_FOREACH_SAFE(pg, &g_spdk_iscsi.pg_head, tailq, tmp) {
		pg->state = GROUP_DESTROY;
		TAILQ_REMOVE(&g_spdk_iscsi.pg_head, pg, tailq);
		spdk_iscsi_portal_grp_destroy(pg);
	}
+1 −2
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@
#ifndef SPDK_PORTAL_GRP_H
#define SPDK_PORTAL_GRP_H

#include "iscsi/init_grp.h"
#include "spdk/conf.h"

struct spdk_iscsi_portal {
	struct spdk_iscsi_portal_grp	*group;
@@ -51,7 +51,6 @@ struct spdk_iscsi_portal {
struct spdk_iscsi_portal_grp {
	int ref;
	int tag;
	enum group_state state;
	TAILQ_ENTRY(spdk_iscsi_portal_grp)	tailq;
	TAILQ_HEAD(, spdk_iscsi_portal)		head;
};
+0 −10
Original line number Diff line number Diff line
@@ -529,22 +529,12 @@ spdk_iscsi_tgt_node_add_map(struct spdk_iscsi_tgt_node *target,
		SPDK_ERRLOG("%s: PortalGroup%d not found\n", target->name, pg_tag);
		return NULL;
	}
	if (pg->state != GROUP_READY) {
		pthread_mutex_unlock(&g_spdk_iscsi.mutex);
		SPDK_ERRLOG("%s: PortalGroup%d not active\n", target->name, pg_tag);
		return NULL;
	}
	ig = spdk_iscsi_init_grp_find_by_tag(ig_tag);
	if (ig == NULL) {
		pthread_mutex_unlock(&g_spdk_iscsi.mutex);
		SPDK_ERRLOG("%s: InitiatorGroup%d not found\n", target->name, ig_tag);
		return NULL;
	}
	if (ig->state != GROUP_READY) {
		pthread_mutex_unlock(&g_spdk_iscsi.mutex);
		SPDK_ERRLOG("%s: InitiatorGroup%d not active\n", target->name, ig_tag);
		return NULL;
	}
	pg->ref++;
	ig->ref++;
	pthread_mutex_unlock(&g_spdk_iscsi.mutex);