Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ed7257b authored by Patrick Caulfield's avatar Patrick Caulfield Committed by Steven Whitehouse
Browse files

[DLM] Consolidate transport protocols



This patch consolidates the TCP & SCTP protocols for the DLM into a single file
and makes it switchable at run-time (well, at least before the DLM actually
starts up!)

For RHEL5 this patch requires Neil Horman's patch that expands the in-kernel
socket API but that has already been twice ACKed so it should be OK.

The patch adds a new lowcomms.c file that replaces the existing lowcomms-sctp.c
& lowcomms-tcp.c files.

Signed-off-By: default avatarPatrick Caulfield <pcaulfie@redhat.com>
Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent fc7c44f0
Loading
Loading
Loading
Loading
+7 −24
Original line number Diff line number Diff line
@@ -3,30 +3,13 @@ menu "Distributed Lock Manager"

config DLM
	tristate "Distributed Lock Manager (DLM)"
	depends on SYSFS && (IPV6 || IPV6=n)
	depends on IPV6 || IPV6=n
	select CONFIGFS_FS
	select IP_SCTP if DLM_SCTP
	select IP_SCTP
	help
	A general purpose distributed lock manager for kernel or userspace
	applications.

choice
	prompt "Select DLM communications protocol"
	depends on DLM
	default DLM_TCP
	help
	  The DLM Can use TCP or SCTP for it's network communications.
	  SCTP supports multi-homed operations whereas TCP doesn't.
	  However, SCTP seems to have stability problems at the moment.

config DLM_TCP
	bool "TCP/IP"

config DLM_SCTP
	bool "SCTP"

endchoice

config DLM_DEBUG
	bool "DLM debugging"
	depends on DLM
+2 −4
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ dlm-y := ast.o \
				member.o \
				memory.o \
				midcomms.o \
				lowcomms.o \
				rcom.o \
				recover.o \
				recoverd.o \
@@ -16,6 +17,3 @@ dlm-y := ast.o \
				util.o 
dlm-$(CONFIG_DLM_DEBUG) +=	debug_fs.o
dlm-$(CONFIG_DLM_TCP)   += lowcomms-tcp.o

dlm-$(CONFIG_DLM_SCTP)  += lowcomms-sctp.o
 No newline at end of file
+8 −2
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
*******************************************************************************
**
**  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
**  Copyright (C) 2004-2005 Red Hat, Inc.  All rights reserved.
**  Copyright (C) 2004-2007 Red Hat, Inc.  All rights reserved.
**
**  This copyrighted material is made available to anyone wishing to use,
**  modify, copy, or redistribute it subject to the terms and conditions
@@ -89,6 +89,7 @@ struct cluster {
	unsigned int cl_toss_secs;
	unsigned int cl_scan_secs;
	unsigned int cl_log_debug;
	unsigned int cl_protocol;
};

enum {
@@ -101,6 +102,7 @@ enum {
	CLUSTER_ATTR_TOSS_SECS,
	CLUSTER_ATTR_SCAN_SECS,
	CLUSTER_ATTR_LOG_DEBUG,
	CLUSTER_ATTR_PROTOCOL,
};

struct cluster_attribute {
@@ -159,6 +161,7 @@ CLUSTER_ATTR(recover_timer, 1);
CLUSTER_ATTR(toss_secs, 1);
CLUSTER_ATTR(scan_secs, 1);
CLUSTER_ATTR(log_debug, 0);
CLUSTER_ATTR(protocol, 0);

static struct configfs_attribute *cluster_attrs[] = {
	[CLUSTER_ATTR_TCP_PORT] = &cluster_attr_tcp_port.attr,
@@ -170,6 +173,7 @@ static struct configfs_attribute *cluster_attrs[] = {
	[CLUSTER_ATTR_TOSS_SECS] = &cluster_attr_toss_secs.attr,
	[CLUSTER_ATTR_SCAN_SECS] = &cluster_attr_scan_secs.attr,
	[CLUSTER_ATTR_LOG_DEBUG] = &cluster_attr_log_debug.attr,
	[CLUSTER_ATTR_PROTOCOL] = &cluster_attr_protocol.attr,
	NULL,
};

@@ -904,6 +908,7 @@ int dlm_our_addr(struct sockaddr_storage *addr, int num)
#define DEFAULT_TOSS_SECS         10
#define DEFAULT_SCAN_SECS          5
#define DEFAULT_LOG_DEBUG          0
#define DEFAULT_PROTOCOL           0

struct dlm_config_info dlm_config = {
	.ci_tcp_port = DEFAULT_TCP_PORT,
@@ -914,6 +919,7 @@ struct dlm_config_info dlm_config = {
	.ci_recover_timer = DEFAULT_RECOVER_TIMER,
	.ci_toss_secs = DEFAULT_TOSS_SECS,
	.ci_scan_secs = DEFAULT_SCAN_SECS,
	.ci_log_debug = DEFAULT_LOG_DEBUG
	.ci_log_debug = DEFAULT_LOG_DEBUG,
	.ci_protocol = DEFAULT_PROTOCOL
};
+2 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
*******************************************************************************
**
**  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
**  Copyright (C) 2004-2005 Red Hat, Inc.  All rights reserved.
**  Copyright (C) 2004-2007 Red Hat, Inc.  All rights reserved.
**
**  This copyrighted material is made available to anyone wishing to use,
**  modify, copy, or redistribute it subject to the terms and conditions
@@ -26,6 +26,7 @@ struct dlm_config_info {
	int ci_toss_secs;
	int ci_scan_secs;
	int ci_log_debug;
	int ci_protocol;
};

extern struct dlm_config_info dlm_config;

fs/dlm/lowcomms-sctp.c

deleted100644 → 0
+0 −1210

File deleted.

Preview size limit exceeded, changes collapsed.

Loading