This is the mail archive of the cluster-cvs@sourceware.org mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

dlm: master - dlm_controld: remove groupd compat


Gitweb:        http://git.fedorahosted.org/git/dlm.git?p=dlm.git;a=commitdiff;h=525414b493d86ef49b9ee98aecd3f0d8b4accc20
Commit:        525414b493d86ef49b9ee98aecd3f0d8b4accc20
Parent:        95fa16e438c2b10b04b452010fdb23452bfe1a10
Author:        David Teigland <teigland@redhat.com>
AuthorDate:    Fri Jan 9 13:20:20 2009 -0600
Committer:     David Teigland <teigland@redhat.com>
CommitterDate: Fri Jan 9 13:20:20 2009 -0600

dlm_controld: remove groupd compat

Signed-off-by: David Teigland <teigland@redhat.com>
---
 group/dlm_controld/Makefile     |    8 +-
 group/dlm_controld/config.c     |    3 -
 group/dlm_controld/config.h     |    3 -
 group/dlm_controld/dlm_daemon.h |   45 -----
 group/dlm_controld/group.c      |  364 ---------------------------------------
 group/dlm_controld/main.c       |  133 ++++-----------
 6 files changed, 32 insertions(+), 524 deletions(-)

diff --git a/group/dlm_controld/Makefile b/group/dlm_controld/Makefile
index c17057e..7e1e1c7 100644
--- a/group/dlm_controld/Makefile
+++ b/group/dlm_controld/Makefile
@@ -21,8 +21,7 @@ OBJS=	action.o \
 	deadlock.o \
 	main.o \
 	netlink.o \
-	plock.o \
-	group.o
+	plock.o
 
 ifdef enable_pacemaker
 OBJS +=	pacemaker.o
@@ -35,7 +34,7 @@ endif
 CFLAGS += -I${ccsincdir} -I${cmanincdir} -I${logtincdir} 
 CFLAGS += -I${dlmincdir} -I${dlmcontrolincdir}
 CFLAGS += -I${corosyncincdir} -I${openaisincdir}
-CFLAGS += -I${groupincdir} -I${fencedincdir}
+CFLAGS += -I${fencedincdir}
 CFLAGS += -I${KERNEL_SRC}/include/
 CFLAGS += -I$(S)/../include/
 ifdef enable_pacemaker
@@ -49,11 +48,8 @@ LDFLAGS += -L${dlmlibdir} -ldlm
 LDFLAGS += -L${logtlibdir} -llogthread
 LDFLAGS += -L${openaislibdir} -lSaCkpt
 LDFLAGS += -L${corosynclibdir} -lcpg 
-LDFLAGS += -L${grouplibdir} -lgroup
 LDFLAGS += -L${libdir}
 
-LDDEPS += ${grouplibdir}/libgroup.a
-
 PCMK_LDFLAGS += -lcib -lcrmcommon -lcrmcluster -ltotem_pg
 PCMK_LDFLAGS += `pkg-config glib-2.0 --libs`
 PCMK_LDFLAGS += `xml2-config --libs`
diff --git a/group/dlm_controld/config.c b/group/dlm_controld/config.c
index 3650b76..f56eadb 100644
--- a/group/dlm_controld/config.c
+++ b/group/dlm_controld/config.c
@@ -212,7 +212,6 @@ static void read_ccs_protocol(char *path, int *config_val)
 #define DEBUG_PATH "/cluster/dlm/@log_debug"
 #define TIMEWARN_PATH "/cluster/dlm/@timewarn"
 #define PROTOCOL_PATH "/cluster/dlm/@protocol"
-#define GROUPD_COMPAT_PATH "/cluster/group/@groupd_compat"
 #define ENABLE_FENCING_PATH "/cluster/dlm/@enable_fencing"
 #define ENABLE_QUORUM_PATH "/cluster/dlm/@enable_quorum"
 #define ENABLE_DEADLK_PATH "/cluster/dlm/@enable_deadlk"
@@ -254,8 +253,6 @@ int setup_ccs(void)
 		read_ccs_int(TIMEWARN_PATH, &cfgk_timewarn);
 	if (!optk_protocol)
 		read_ccs_protocol(PROTOCOL_PATH, &cfgk_protocol);
-	if (!optd_groupd_compat)
-		read_ccs_int(GROUPD_COMPAT_PATH, &cfgd_groupd_compat);
 	if (!optd_enable_fencing)
 		read_ccs_int(ENABLE_FENCING_PATH, &cfgd_enable_fencing);
 	if (!optd_enable_quorum)
diff --git a/group/dlm_controld/config.h b/group/dlm_controld/config.h
index 9168bba..ebadced 100644
--- a/group/dlm_controld/config.h
+++ b/group/dlm_controld/config.h
@@ -4,7 +4,6 @@
 /* the kernel has default values for debug, timewarn and protocol;
    we only change them if new values are given on command line or in ccs */
 
-#define DEFAULT_GROUPD_COMPAT 2
 #define DEFAULT_DEBUG_LOGFILE 0
 #define DEFAULT_ENABLE_FENCING 1
 #define DEFAULT_ENABLE_QUORUM 1
@@ -20,7 +19,6 @@
 extern int optk_debug;
 extern int optk_timewarn;
 extern int optk_protocol;
-extern int optd_groupd_compat;
 extern int optd_debug_logfile;
 extern int optd_enable_fencing;
 extern int optd_enable_quorum;
@@ -36,7 +34,6 @@ extern int optd_drop_resources_age;
 extern int cfgk_debug;
 extern int cfgk_timewarn;
 extern int cfgk_protocol;
-extern int cfgd_groupd_compat;
 extern int cfgd_debug_logfile;
 extern int cfgd_enable_fencing;
 extern int cfgd_enable_quorum;
diff --git a/group/dlm_controld/dlm_daemon.h b/group/dlm_controld/dlm_daemon.h
index 8173192..8c751a7 100644
--- a/group/dlm_controld/dlm_daemon.h
+++ b/group/dlm_controld/dlm_daemon.h
@@ -61,11 +61,6 @@
 
 #define MAXLINE		256
 
-/* group_mode */
-
-#define GROUP_LIBGROUP	2
-#define GROUP_LIBCPG	3
-
 extern int daemon_debug_opt;
 extern int daemon_quit;
 extern int cluster_down;
@@ -84,7 +79,6 @@ extern int dump_point;
 extern int dump_wrap;
 extern char plock_dump_buf[DLMC_DUMP_SIZE];
 extern int plock_dump_len;
-extern int group_mode;
 extern uint32_t control_minor;
 extern uint32_t monitor_minor;
 extern uint32_t plock_minor;
@@ -188,11 +182,6 @@ struct lockspace {
 	struct timeval		drop_resources_last;
 	uint64_t		plock_ckpt_handle;
 
-	/* save copy of groupd member callback data for queries */
-
-	int			cb_member_count;
-	int			cb_members[MAX_NODES];
-
 	/* deadlock stuff */
 
 	int			deadlk_low_nodeid;
@@ -305,40 +294,6 @@ void retrieve_plocks(struct lockspace *ls);
 void purge_plocks(struct lockspace *ls, int nodeid, int unmount);
 int fill_plock_dump_buf(struct lockspace *ls);
 
-/* group.c */
-#define BUILD_GROUPD_COMPAT
-#ifdef BUILD_GROUPD_COMPAT
-int setup_groupd(void);
-void close_groupd(void);
-void process_groupd(int ci);
-int dlm_join_lockspace_group(struct lockspace *ls);
-int dlm_leave_lockspace_group(struct lockspace *ls);
-int set_node_info_group(struct lockspace *ls, int nodeid,
-	struct dlmc_node *node);
-int set_lockspace_info_group(struct lockspace *ls,
-	struct dlmc_lockspace *lockspace);
-int set_lockspaces_group(int *count,
-	struct dlmc_lockspace **lss_out);
-int set_lockspace_nodes_group(struct lockspace *ls, int option,
-	int *node_count, struct dlmc_node **nodes);
-int set_group_mode(void);
-#else
-static inline int setup_groupd(void) { return -1; }
-static inline void close_groupd(void) { }
-static inline void process_groupd(int ci) { }
-static inline int dlm_join_lockspace_group(struct lockspace *ls) { return -1; }
-static inline int dlm_leave_lockspace_group(struct lockspace *ls) { return -1; }
-static inline int set_node_info_group(struct lockspace *ls, int nodeid,
-	struct dlmc_node *node) { return -1; }
-static inline int set_lockspace_info_group(struct lockspace *ls,
-	struct dlmc_lockspace *lockspace) { return -1; }
-static inline int set_lockspaces_group(int *count,
-	struct dlmc_lockspace **lss_out) { return -1; }
-static inline int set_lockspace_nodes_group(struct lockspace *ls, int option,
-	int *node_count, struct dlmc_node **nodes) { return -1; }
-int inline void set_group_mode(void) { return 0; }
-#endif
-
 /* logging.c */
 
 void init_logging(void);
diff --git a/group/dlm_controld/group.c b/group/dlm_controld/group.c
deleted file mode 100644
index 9b863b7..0000000
--- a/group/dlm_controld/group.c
+++ /dev/null
@@ -1,364 +0,0 @@
-#include "dlm_daemon.h"
-#include "config.h"
-#include "libgroup.h"
-
-#define DO_STOP 1
-#define DO_START 2
-#define DO_FINISH 3
-#define DO_TERMINATE 4
-#define DO_SETID 5
-
-#define GROUPD_TIMEOUT 10 /* seconds */
-
-/* save all the params from callback functions here because we can't
-   do the processing within the callback function itself */
-
-group_handle_t gh;
-static int cb_action;
-static char cb_name[DLM_LOCKSPACE_LEN+1];
-static int cb_event_nr;
-static unsigned int cb_id;
-static int cb_type;
-static int cb_member_count;
-static int cb_members[MAX_NODES];
-
-
-static void stop_cbfn(group_handle_t h, void *private, char *name)
-{
-	cb_action = DO_STOP;
-	strcpy(cb_name, name);
-}
-
-static void start_cbfn(group_handle_t h, void *private, char *name,
-		       int event_nr, int type, int member_count, int *members)
-{
-	int i;
-
-	cb_action = DO_START;
-	strcpy(cb_name, name);
-	cb_event_nr = event_nr;
-	cb_type = type;
-	cb_member_count = member_count;
-
-	for (i = 0; i < member_count; i++)
-		cb_members[i] = members[i];
-}
-
-static void finish_cbfn(group_handle_t h, void *private, char *name,
-			int event_nr)
-{
-	cb_action = DO_FINISH;
-	strcpy(cb_name, name);
-	cb_event_nr = event_nr;
-}
-
-static void terminate_cbfn(group_handle_t h, void *private, char *name)
-{
-	cb_action = DO_TERMINATE;
-	strcpy(cb_name, name);
-}
-
-static void setid_cbfn(group_handle_t h, void *private, char *name,
-		       unsigned int id)
-{
-	cb_action = DO_SETID;
-	strcpy(cb_name, name);
-	cb_id = id;
-}
-
-group_callbacks_t callbacks = {
-	stop_cbfn,
-	start_cbfn,
-	finish_cbfn,
-	terminate_cbfn,
-	setid_cbfn
-};
-
-static char *str_members(void)
-{
-	static char str_members_buf[MAXLINE];
-	int i, ret, pos = 0, len = MAXLINE;
-
-	memset(str_members_buf, 0, MAXLINE);
-
-	for (i = 0; i < cb_member_count; i++) {
-		if (i != 0) {
-			ret = snprintf(str_members_buf + pos, len - pos, " ");
-			if (ret >= len - pos)
-				break;
-			pos += ret;
-		}
-		ret = snprintf(str_members_buf + pos, len - pos, "%d",
-			       cb_members[i]);
-		if (ret >= len - pos)
-			break;
-		pos += ret;
-	}
-	return str_members_buf;
-}
-
-void process_groupd(int ci)
-{
-	struct lockspace *ls;
-	int error = 0, val;
-
-	group_dispatch(gh);
-
-	if (!cb_action)
-		goto out;
-
-	ls = find_ls(cb_name);
-	if (!ls) {
-		log_error("callback %d group %s not found", cb_action, cb_name);
-		error = -1;
-		goto out;
-	}
-
-	switch (cb_action) {
-	case DO_STOP:
-		log_debug("groupd callback: stop %s", cb_name);
-		ls->kernel_stopped = 1; /* for queries */
-		set_sysfs_control(cb_name, 0);
-		group_stop_done(gh, cb_name);
-		break;
-
-	case DO_START:
-		log_debug("groupd callback: start %s count %d members %s",
-			  cb_name, cb_member_count, str_members());
-
-		/* save in ls for queries */
-		ls->cb_member_count = cb_member_count;
-		memcpy(ls->cb_members, cb_members, sizeof(cb_members));
-
-		set_configfs_members(cb_name, cb_member_count, cb_members,
-				     0, NULL);
-
-		/* this causes the dlm to do a "start" using the
-		   members we just set */
-
-		ls->kernel_stopped = 0;
-		set_sysfs_control(cb_name, 1);
-
-		/* the dlm doesn't need/use a "finish" stage following
-		   start, so we can just do start_done immediately */
-
-		group_start_done(gh, cb_name, cb_event_nr);
-
-		if (!ls->joining)
-			break;
-
-		ls->joining = 0;
-		log_debug("join event done %s", cb_name);
-
-		/* this causes the dlm_new_lockspace() call (typically from
-		   mount) to complete */
-		set_sysfs_event_done(cb_name, 0);
-
-		break;
-
-	case DO_SETID:
-		log_debug("groupd callback: set_id %s %x", cb_name, cb_id);
-		set_sysfs_id(cb_name, cb_id);
-		ls->global_id = cb_id;
-		break;
-
-	case DO_TERMINATE:
-		log_debug("groupd callback: terminate %s", cb_name);
-
-		if (ls->joining) {
-			val = -1;
-			ls->joining = 0;
-			log_debug("join event failed %s", cb_name);
-		} else {
-			val = 0;
-			log_debug("leave event done %s", cb_name);
-
-			/* remove everything under configfs */
-			set_configfs_members(ls->name, 0, NULL, 0, NULL);
-		}
-
-		set_sysfs_event_done(cb_name, val);
-		list_del(&ls->list);
-		free(ls);
-		break;
-
-	case DO_FINISH:
-		log_debug("groupd callback: finish %s (unused)", cb_name);
-		break;
-
-	default:
-		error = -EINVAL;
-	}
-
-	cb_action = 0;
- out:
-	return;
-}
-
-int dlm_join_lockspace_group(struct lockspace *ls)
-{
-	int rv;
-
-	ls->joining = 1;
-	list_add(&ls->list, &lockspaces);
-
-	rv = group_join(gh, ls->name);
-	if (rv) {
-		list_del(&ls->list);
-		free(ls);
-	}
-
-	return rv;
-}
-
-int dlm_leave_lockspace_group(struct lockspace *ls)
-{
-	ls->leaving = 1;
-	group_leave(gh, ls->name);
-	return 0;
-}
-
-int setup_groupd(void)
-{
-	int rv;
-
-	gh = group_init(NULL, "dlm", 1, &callbacks, GROUPD_TIMEOUT);
-	if (!gh) {
-		log_error("group_init error %p %d", gh, errno);
-		return -ENOTCONN;
-	}
-
-	rv = group_get_fd(gh);
-	if (rv < 0)
-		log_error("group_get_fd error %d %d", rv, errno);
-
-	return rv;
-}
-
-void close_groupd(void)
-{
-	group_exit(gh);
-}
-
-/* most of the query info doesn't apply in the LIBGROUP mode, but we can
-   emulate some basic parts of it */
-
-int set_lockspace_info_group(struct lockspace *ls,
-			     struct dlmc_lockspace *lockspace)
-{
-	strncpy(lockspace->name, ls->name, DLM_LOCKSPACE_LEN);
-	lockspace->global_id = ls->global_id;
-
-	if (ls->joining)
-		lockspace->flags |= DLMC_LF_JOINING;
-	if (ls->leaving)
-		lockspace->flags |= DLMC_LF_LEAVING;
-	if (ls->kernel_stopped)
-		lockspace->flags |= DLMC_LF_KERNEL_STOPPED;
-
-	lockspace->cg_prev.member_count = ls->cb_member_count;
-
-	/* we could save the previous cb_members and calculate
-	   joined_count and remove_count */
-
-	return 0;
-}
-
-int set_node_info_group(struct lockspace *ls, int nodeid,
-			struct dlmc_node *node)
-{
-	node->nodeid = nodeid;
-	node->flags = DLMC_NF_MEMBER;
-	return 0;
-}
-
-int set_lockspaces_group(int *count, struct dlmc_lockspace **lss_out)
-{
-	struct lockspace *ls;
-	struct dlmc_lockspace *lss, *lsp;
-	int ls_count = 0;
-
-	list_for_each_entry(ls, &lockspaces, list)
-		ls_count++;
-
-	lss = malloc(ls_count * sizeof(struct dlmc_lockspace));
-	if (!lss)
-		return -ENOMEM;
-	memset(lss, 0, ls_count * sizeof(struct dlmc_lockspace));
-
-	lsp = lss;
-	list_for_each_entry(ls, &lockspaces, list) {
-		set_lockspace_info(ls, lsp++);
-	}
-
-	*count = ls_count;
-	*lss_out = lss;
-	return 0;
-}
-
-int set_lockspace_nodes_group(struct lockspace *ls, int option, int *node_count,
-			      struct dlmc_node **nodes_out)
-{
-	struct dlmc_node *nodes = NULL, *nodep;
-	int i, len;
-
-	if (!ls->cb_member_count)
-		goto out;
-
-	len = ls->cb_member_count * sizeof(struct dlmc_node);
-	nodes = malloc(len);
-	if (!nodes)
-		return -ENOMEM;
-	memset(nodes, 0, len);
-
-	nodep = nodes;
-	for (i = 0; i < ls->cb_member_count; i++) {
-		set_node_info_group(ls, ls->cb_members[i], nodep++);
-	}
- out:
-	*node_count = ls->cb_member_count;
-	*nodes_out = nodes;
-	return 0;
-}
-
-int set_group_mode(void)
-{
-	int i = 0, rv, version, limit;
-
-	while (1) {
-		rv = group_get_version(&version);
-
-		if (rv || version < 0) {
-			/* we expect to get version of -EAGAIN while groupd
-			   is detecting the mode of everyone; don't retry
-			   as long if we're not getting anything back from
-			   groupd */
-
-			log_debug("set_group_mode get_version %d ver %d",
-				  rv, version);
-
-			limit = (version == -EAGAIN) ? 30 : 5;
-
-			if (i++ > limit) {
-				log_error("cannot get groupd compatibility "
-					  "mode rv %d ver %d", rv, version);
-				return -1;
-			}
-			sleep(1);
-			continue;
-		}
-
-
-		if (version == GROUP_LIBGROUP) {
-			group_mode = GROUP_LIBGROUP;
-			return 0;
-		} else if (version == GROUP_LIBCPG) {
-			group_mode = GROUP_LIBCPG;
-			return 0;
-		} else {
-			log_error("set_group_mode invalid ver %d", version);
-			return -1;
-		}
-	}
-}
-
diff --git a/group/dlm_controld/main.c b/group/dlm_controld/main.c
index afc8022..12fb04e 100644
--- a/group/dlm_controld/main.c
+++ b/group/dlm_controld/main.c
@@ -289,8 +289,7 @@ char *dlm_mode_str(int mode)
 	return "??";
 }
 
-/* recv "online" (join) and "offline" (leave) 
-   messages from dlm via uevents and pass them on to groupd */
+/* recv "online" (join) and "offline" (leave) messages from dlm via uevents */
 
 static void process_uevent(int ci)
 {
@@ -346,10 +345,7 @@ static void process_uevent(int ci)
 		if (fs_register_check(ls->name))
 			ls->fs_registered = 1;
 
-		if (group_mode == GROUP_LIBGROUP)
-			rv = dlm_join_lockspace_group(ls);
-		else
-			rv = dlm_join_lockspace(ls);
+		rv = dlm_join_lockspace(ls);
 		if (rv) {
 			/* ls already freed */
 			goto out;
@@ -362,10 +358,7 @@ static void process_uevent(int ci)
 			goto out;
 		}
 
-		if (group_mode == GROUP_LIBGROUP)
-			dlm_leave_lockspace_group(ls);
-		else
-			dlm_leave_lockspace(ls);
+		dlm_leave_lockspace(ls);
 	}
  out:
 	if (rv < 0)
@@ -507,12 +500,8 @@ static void query_lockspace_info(int fd, char *name)
 	}
 
 	memset(&lockspace, 0, sizeof(lockspace));
-	lockspace.group_mode = group_mode;
 
-	if (group_mode == GROUP_LIBGROUP)
-		rv = set_lockspace_info_group(ls, &lockspace);
-	else
-		rv = set_lockspace_info(ls, &lockspace);
+	rv = set_lockspace_info(ls, &lockspace);
  out:
 	do_reply(fd, DLMC_CMD_LOCKSPACE_INFO, name, rv, 0,
 		 (char *)&lockspace, sizeof(lockspace));
@@ -532,10 +521,7 @@ static void query_node_info(int fd, char *name, int nodeid)
 
 	memset(&node, 0, sizeof(node));
 
-	if (group_mode == GROUP_LIBGROUP)
-		rv = set_node_info_group(ls, nodeid, &node);
-	else
-		rv = set_node_info(ls, nodeid, &node);
+	rv = set_node_info(ls, nodeid, &node);
  out:
 	do_reply(fd, DLMC_CMD_NODE_INFO, name, rv, 0,
 		 (char *)&node, sizeof(node));
@@ -547,11 +533,7 @@ static void query_lockspaces(int fd, int max)
 	struct dlmc_lockspace *lss = NULL;
 	int rv, result;
 
-	if (group_mode == GROUP_LIBGROUP)
-		rv = set_lockspaces_group(&ls_count, &lss);
-	else
-		rv = set_lockspaces(&ls_count, &lss);
-
+	rv = set_lockspaces(&ls_count, &lss);
 	if (rv < 0) {
 		result = rv;
 		ls_count = 0;
@@ -586,11 +568,7 @@ static void query_lockspace_nodes(int fd, char *name, int option, int max)
 		goto out;
 	}
 
-	if (group_mode == GROUP_LIBGROUP)
-		rv = set_lockspace_nodes_group(ls, option, &node_count, &nodes);
-	else
-		rv = set_lockspace_nodes(ls, option, &node_count, &nodes);
-
+	rv = set_lockspace_nodes(ls, option, &node_count, &nodes);
 	if (rv < 0) {
 		result = rv;
 		node_count = 0;
@@ -656,21 +634,15 @@ static void process_connection(int ci)
 
 	switch (h.command) {
 	case DLMC_CMD_FS_REGISTER:
-		if (group_mode == GROUP_LIBGROUP) {
-			rv = -EINVAL;
-		} else {
-			rv = fs_register_add(h.name);
-			ls = find_ls(h.name);
-			if (ls)
-				ls->fs_registered = 1;
-		}
+		rv = fs_register_add(h.name);
+		ls = find_ls(h.name);
+		if (ls)
+			ls->fs_registered = 1;
 		do_reply(client[ci].fd, DLMC_CMD_FS_REGISTER, h.name, rv, 0,
 			 NULL, 0);
 		break;
 
 	case DLMC_CMD_FS_UNREGISTER:
-		if (group_mode == GROUP_LIBGROUP)
-			break;
 		fs_register_del(h.name);
 		ls = find_ls(h.name);
 		if (ls)
@@ -911,58 +883,30 @@ static void loop(void)
 		goto out;
 	client_add(rv, process_uevent, NULL);
 
-	group_mode = GROUP_LIBCPG;
-
-	if (cfgd_groupd_compat) {
-		rv = setup_groupd();
-		if (rv < 0)
-			goto out;
-		client_add(rv, process_groupd, cluster_dead);
-
-		switch (cfgd_groupd_compat) {
-		case 1:
-			group_mode = GROUP_LIBGROUP;
-			rv = 0;
-			break;
-		case 2:
-			rv = set_group_mode();
-			break;
-		default:
-			log_error("inval groupd_compat %d", cfgd_groupd_compat);
-			rv = -1;
-			break;
-		}
-		if (rv < 0) 
-			goto out;
-	}
-	log_debug("group_mode %d compat %d", group_mode, cfgd_groupd_compat);
+	rv = setup_cpg();
+	if (rv < 0)
+		goto out;
+	client_add(rv, process_cpg, cluster_dead);
 
-	if (group_mode == GROUP_LIBCPG) {
-		rv = setup_cpg();
-		if (rv < 0)
-			goto out;
-		client_add(rv, process_cpg, cluster_dead);
+	rv = set_protocol();
+	if (rv < 0)
+		goto out;
 
-		rv = set_protocol();
+	if (cfgd_enable_deadlk) {
+		rv = setup_netlink();
 		if (rv < 0)
 			goto out;
+		client_add(rv, process_netlink, NULL);
 
-		if (cfgd_enable_deadlk) {
-			rv = setup_netlink();
-			if (rv < 0)
-				goto out;
-			client_add(rv, process_netlink, NULL);
-
-			setup_deadlock();
-		}
-
-		rv = setup_plocks();
-		if (rv < 0)
-			goto out;
-		plock_fd = rv;
-		plock_ci = client_add(rv, process_plocks, NULL);
+		setup_deadlock();
 	}
 
+	rv = setup_plocks();
+	if (rv < 0)
+		goto out;
+	plock_fd = rv;
+	plock_ci = client_add(rv, process_plocks, NULL);
+
 	for (;;) {
 		rv = poll(pollfd, client_maxi + 1, poll_timeout);
 		if (rv == -1 && errno == EINTR) {
@@ -1014,10 +958,7 @@ static void loop(void)
 		query_unlock();
 	}
  out:
-	if (cfgd_groupd_compat)
-		close_groupd();
-	if (group_mode == GROUP_LIBCPG)
-		close_cpg();
+	close_cpg();
 	clear_configfs();
 	close_logging();
 	close_ccs();
@@ -1080,12 +1021,6 @@ static void print_usage(void)
 	printf("  -D		Enable debugging to stderr and don't fork\n");
 	printf("  -L		Enable debugging to log file\n");
 	printf("  -K		Enable kernel dlm debugging messages\n");
-	printf("  -g <num>	groupd compatibility mode, 0 off, 1 on, 2 detect\n");
-	printf("		0: use libcpg, no backward compat, best performance\n");
-	printf("		1: use libgroup for compat with cluster2/rhel5\n");
-	printf("		2: use groupd to detect old, or mode 1, nodes that\n"
-	       "		require compat, use libcpg if none found\n");
-	printf("		Default is %d\n", DEFAULT_GROUPD_COMPAT);
 	printf("  -f <num>	Enable (1) or disable (0) fencing recovery dependency\n");
 	printf("		Default is %d\n", DEFAULT_ENABLE_FENCING);
 	printf("  -q <num>	Enable (1) or disable (0) quorum recovery dependency\n");
@@ -1109,7 +1044,7 @@ static void print_usage(void)
 	printf("  -V		Print program version information, then exit\n");
 }
 
-#define OPTION_STRING "LDKg:f:q:d:p:Pl:o:t:c:a:hV"
+#define OPTION_STRING "LDKf:q:d:p:Pl:o:t:c:a:hV"
 
 static void read_arguments(int argc, char **argv)
 {
@@ -1134,11 +1069,6 @@ static void read_arguments(int argc, char **argv)
 			cfgd_debug_logfile = 1;
 			break;
 
-		case 'g':
-			optd_groupd_compat = 1;
-			cfgd_groupd_compat = atoi(optarg);
-			break;
-
 		case 'K':
 			optk_debug = 1;
 			cfgk_debug = 1;
@@ -1318,7 +1248,6 @@ int dump_point;
 int dump_wrap;
 char plock_dump_buf[DLMC_DUMP_SIZE];
 int plock_dump_len;
-int group_mode;
 uint32_t control_minor;
 uint32_t monitor_minor;
 uint32_t plock_minor;
@@ -1330,7 +1259,6 @@ uint32_t old_plock_minor;
 int optk_debug;
 int optk_timewarn;
 int optk_protocol;
-int optd_groupd_compat;
 int optd_debug_logfile;
 int optd_enable_fencing;
 int optd_enable_quorum;
@@ -1349,7 +1277,6 @@ int optd_drop_resources_age;
 int cfgk_debug                  = -1;
 int cfgk_timewarn               = -1;
 int cfgk_protocol               = -1;
-int cfgd_groupd_compat          = DEFAULT_GROUPD_COMPAT;
 int cfgd_debug_logfile		= DEFAULT_DEBUG_LOGFILE;
 int cfgd_enable_fencing         = DEFAULT_ENABLE_FENCING;
 int cfgd_enable_quorum          = DEFAULT_ENABLE_QUORUM;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]