* [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ...
@ 2006-10-05 7:52 pcaulfield
0 siblings, 0 replies; 8+ messages in thread
From: pcaulfield @ 2006-10-05 7:52 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: pcaulfield at sourceware.org 2006-10-05 07:52:50
Modified files:
group/dlm_controld: action.c dlm_daemon.h member_cman.c
Log message:
A bit of a hack to cope with the race condition where dlm_controld gets
the groupd callback before the cman one and tries to start a DLM lockspace
before all the node addresses are known.
I think this will fix bz#207197
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/action.c.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/dlm_daemon.h.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/member_cman.c.diff?cvsroot=cluster&r1=1.2&r2=1.3
--- cluster/group/dlm_controld/action.c 2006/08/31 18:17:00 1.6
+++ cluster/group/dlm_controld/action.c 2006/10/05 07:52:50 1.7
@@ -297,6 +297,8 @@
if (id_exists(id, old_count, old_members))
continue;
+ if (!is_cman_member(id))
+ cman_statechange();
/*
* create node's dir
*/
--- cluster/group/dlm_controld/dlm_daemon.h 2006/07/19 14:44:40 1.3
+++ cluster/group/dlm_controld/dlm_daemon.h 2006/10/05 07:52:50 1.4
@@ -94,5 +94,9 @@
struct lockspace *create_ls(char *name);
struct lockspace *find_ls(char *name);
+/* member_cman.c */
+int is_cman_member(int nodeid);
+void cman_statechange(void);
+
#endif
--- cluster/group/dlm_controld/member_cman.c 2006/06/30 15:36:52 1.2
+++ cluster/group/dlm_controld/member_cman.c 2006/10/05 07:52:50 1.3
@@ -66,6 +66,7 @@
return cn->cn_name;
}
+
/* add a configfs dir for cluster members that don't have one,
del the configfs dir for cluster members that are now gone */
@@ -219,3 +220,8 @@
return fd;
}
+/* Force re-read of cman nodes */
+void cman_statechange()
+{
+ statechange();
+}
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ...
@ 2006-10-24 16:16 teigland
0 siblings, 0 replies; 8+ messages in thread
From: teigland @ 2006-10-24 16:16 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: teigland at sourceware.org 2006-10-24 16:16:31
Modified files:
group/dlm_controld: action.c dlm_daemon.h main.c member_cman.c
Log message:
Clear out configfs dirs that we've created before exiting.
Allows dlm kernel mod can be removed straight away now.
bz 211924
(code setting scheduler priority also added but commented out)
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/action.c.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/dlm_daemon.h.diff?cvsroot=cluster&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/main.c.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/member_cman.c.diff?cvsroot=cluster&r1=1.3&r2=1.4
--- cluster/group/dlm_controld/action.c 2006/10/05 07:52:50 1.7
+++ cluster/group/dlm_controld/action.c 2006/10/24 16:16:31 1.8
@@ -522,6 +522,7 @@
{
clear_configfs_comms();
clear_configfs_spaces();
+ rmdir("/sys/kernel/config/dlm/cluster");
}
int add_configfs_node(int nodeid, char *addr, int addrlen, int local)
--- cluster/group/dlm_controld/dlm_daemon.h 2006/10/05 07:52:50 1.4
+++ cluster/group/dlm_controld/dlm_daemon.h 2006/10/24 16:16:31 1.5
@@ -38,6 +38,7 @@
#include <unistd.h>
#include <time.h>
#include <syslog.h>
+#include <sched.h>
#include <linux/netlink.h>
#include "list.h"
--- cluster/group/dlm_controld/main.c 2006/08/31 18:17:00 1.5
+++ cluster/group/dlm_controld/main.c 2006/10/24 16:16:31 1.6
@@ -252,10 +252,12 @@
if (pollfd[i].revents & POLLHUP) {
if (pollfd[i].fd == member_fd) {
log_error("cluster is down, exiting");
+ clear_configfs();
exit(1);
}
if (pollfd[i].fd == groupd_fd) {
log_error("groupd is down, exiting");
+ clear_configfs();
exit(1);
}
log_debug("closing fd %d", pollfd[i].fd);
@@ -387,6 +389,26 @@
}
}
+#if 0
+void set_scheduler(void)
+{
+ struct sched_param sched_param;
+ int rv;
+
+ rv = sched_get_priority_max(SCHED_RR);
+ if (rv != -1) {
+ sched_param.sched_priority = 2;
+ rv = sched_setscheduler(0, SCHED_RR, &sched_param);
+ if (rv == -1)
+ log_error("could not set SCHED_RR priority %d err %d",
+ sched_param.sched_priority, errno);
+ } else {
+ log_error("could not get maximum scheduler priority err %d",
+ errno);
+ }
+}
+#endif
+
int main(int argc, char **argv)
{
prog_name = argv[0];
@@ -398,6 +420,10 @@
if (!daemon_debug_opt)
daemonize();
+#if 0
+ set_scheduler();
+#endif
+
return loop();
}
--- cluster/group/dlm_controld/member_cman.c 2006/10/05 07:52:50 1.3
+++ cluster/group/dlm_controld/member_cman.c 2006/10/24 16:16:31 1.4
@@ -165,6 +165,7 @@
/* do we want to try to forcibly clean some stuff up
in the kernel here? */
log_error("cluster is down, exiting");
+ clear_configfs();
exit(1);
}
return 0;
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ...
@ 2007-01-09 19:17 teigland
0 siblings, 0 replies; 8+ messages in thread
From: teigland @ 2007-01-09 19:17 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: teigland at sourceware.org 2007-01-09 19:17:08
Modified files:
group/dlm_controld: action.c dlm_daemon.h main.c member_cman.c
Log message:
add -K option to enable dlm kernel log_debug's
(does nothing if /sys/kernel/config/dlm/cluster/log_debug doesn't exist)
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/action.c.diff?cvsroot=cluster&r1=1.8&r2=1.9
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/dlm_daemon.h.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/main.c.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/member_cman.c.diff?cvsroot=cluster&r1=1.5&r2=1.6
--- cluster/group/dlm_controld/action.c 2006/10/24 16:16:31 1.8
+++ cluster/group/dlm_controld/action.c 2007/01/09 19:17:08 1.9
@@ -42,6 +42,7 @@
static int comms_nodes_count;
#define DLM_SYSFS_DIR "/sys/kernel/dlm"
+#define CLUSTER_DIR "/sys/kernel/config/dlm/cluster"
#define SPACES_DIR "/sys/kernel/config/dlm/cluster/spaces"
#define COMMS_DIR "/sys/kernel/config/dlm/cluster/comms"
@@ -525,15 +526,9 @@
rmdir("/sys/kernel/config/dlm/cluster");
}
-int add_configfs_node(int nodeid, char *addr, int addrlen, int local)
+static int add_configfs_base(void)
{
- char path[PATH_MAX];
- char padded_addr[sizeof(struct sockaddr_storage)];
- char buf[32];
- int rv, fd;
-
- log_debug("set_configfs_node %d %s local %d",
- nodeid, str_ip(addr), local);
+ int rv = 0;
if (!path_exists("/sys/kernel/config")) {
log_error("No /sys/kernel/config, is configfs loaded?");
@@ -546,7 +541,24 @@
}
if (!path_exists("/sys/kernel/config/dlm/cluster"))
- create_path("/sys/kernel/config/dlm/cluster");
+ rv = create_path("/sys/kernel/config/dlm/cluster");
+
+ return rv;
+}
+
+int add_configfs_node(int nodeid, char *addr, int addrlen, int local)
+{
+ char path[PATH_MAX];
+ char padded_addr[sizeof(struct sockaddr_storage)];
+ char buf[32];
+ int rv, fd;
+
+ log_debug("set_configfs_node %d %s local %d",
+ nodeid, str_ip(addr), local);
+
+ rv = add_configfs_base();
+ if (rv < 0)
+ return rv;
/*
* create comm dir for this node
@@ -649,3 +661,34 @@
log_error("%s: rmdir failed: %d", path, errno);
}
+int set_configfs_debug(int val)
+{
+ char path[PATH_MAX];
+ char buf[32];
+ int fd, rv;
+
+ rv = add_configfs_base();
+ if (rv < 0)
+ return rv;
+
+ memset(path, 0, PATH_MAX);
+ snprintf(path, PATH_MAX, "%s/log_debug", CLUSTER_DIR);
+
+ fd = open(path, O_WRONLY);
+ if (fd < 0) {
+ log_debug("%s: open failed: %d", path, errno);
+ return fd;
+ }
+
+ memset(buf, 0, sizeof(buf));
+ snprintf(buf, 32, "%d", val);
+
+ rv = do_write(fd, buf, strlen(buf));
+ if (rv < 0) {
+ log_error("%s: write failed: %d", path, errno);
+ return rv;
+ }
+ close(fd);
+ return 0;
+}
+
--- cluster/group/dlm_controld/dlm_daemon.h 2006/10/24 16:16:31 1.5
+++ cluster/group/dlm_controld/dlm_daemon.h 2007/01/09 19:17:08 1.6
@@ -52,6 +52,7 @@
extern char *prog_name;
extern int daemon_debug_opt;
+extern int kernel_debug_opt;
extern char daemon_debug_buf[256];
#define log_debug(fmt, args...) \
@@ -81,6 +82,7 @@
void clear_configfs(void);
int set_members(char *name, int new_count, int *new_members);
int set_id(char *name, uint32_t id);
+int set_configfs_debug(int val);
/* member_xxx.c */
int setup_member(void);
--- cluster/group/dlm_controld/main.c 2006/11/15 14:33:06 1.7
+++ cluster/group/dlm_controld/main.c 2007/01/09 19:17:08 1.8
@@ -12,7 +12,7 @@
#include "dlm_daemon.h"
-#define OPTION_STRING "DhV"
+#define OPTION_STRING "KDhV"
#define LOCKFILE_NAME "/var/run/dlm_controld.pid"
static int uevent_fd;
@@ -342,6 +342,7 @@
printf("Options:\n");
printf("\n");
printf(" -D Enable debugging code and don't fork\n");
+ printf(" -K Enable kernel dlm debugging messages\n");
printf(" -h Print this help, then exit\n");
printf(" -V Print program version information, then exit\n");
}
@@ -360,6 +361,10 @@
daemon_debug_opt = 1;
break;
+ case 'K':
+ kernel_debug_opt = 1;
+ break;
+
case 'h':
print_usage();
exit(EXIT_SUCCESS);
@@ -426,4 +431,5 @@
char *prog_name;
int daemon_debug_opt;
char daemon_debug_buf[256];
+int kernel_debug_opt;
--- cluster/group/dlm_controld/member_cman.c 2006/12/14 19:56:50 1.5
+++ cluster/group/dlm_controld/member_cman.c 2007/01/09 19:17:08 1.6
@@ -179,6 +179,8 @@
clear_configfs();
+ set_configfs_debug(kernel_debug_opt);
+
old_node_count = 0;
memset(&old_nodes, 0, sizeof(old_nodes));
cman_node_count = 0;
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ...
@ 2007-01-09 19:18 teigland
0 siblings, 0 replies; 8+ messages in thread
From: teigland @ 2007-01-09 19:18 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: teigland at sourceware.org 2007-01-09 19:18:19
Modified files:
group/dlm_controld: action.c dlm_daemon.h main.c member_cman.c
Log message:
add -K option to enable dlm kernel log_debug's
(does nothing if /sys/kernel/config/dlm/cluster/log_debug doesn't exist)
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/action.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.8&r2=1.8.2.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/dlm_daemon.h.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.5&r2=1.5.2.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/main.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.6.2.1&r2=1.6.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/member_cman.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.1&r2=1.4.2.2
--- cluster/group/dlm_controld/action.c 2006/10/24 16:16:31 1.8
+++ cluster/group/dlm_controld/action.c 2007/01/09 19:18:18 1.8.2.1
@@ -42,6 +42,7 @@
static int comms_nodes_count;
#define DLM_SYSFS_DIR "/sys/kernel/dlm"
+#define CLUSTER_DIR "/sys/kernel/config/dlm/cluster"
#define SPACES_DIR "/sys/kernel/config/dlm/cluster/spaces"
#define COMMS_DIR "/sys/kernel/config/dlm/cluster/comms"
@@ -525,15 +526,9 @@
rmdir("/sys/kernel/config/dlm/cluster");
}
-int add_configfs_node(int nodeid, char *addr, int addrlen, int local)
+static int add_configfs_base(void)
{
- char path[PATH_MAX];
- char padded_addr[sizeof(struct sockaddr_storage)];
- char buf[32];
- int rv, fd;
-
- log_debug("set_configfs_node %d %s local %d",
- nodeid, str_ip(addr), local);
+ int rv = 0;
if (!path_exists("/sys/kernel/config")) {
log_error("No /sys/kernel/config, is configfs loaded?");
@@ -546,7 +541,24 @@
}
if (!path_exists("/sys/kernel/config/dlm/cluster"))
- create_path("/sys/kernel/config/dlm/cluster");
+ rv = create_path("/sys/kernel/config/dlm/cluster");
+
+ return rv;
+}
+
+int add_configfs_node(int nodeid, char *addr, int addrlen, int local)
+{
+ char path[PATH_MAX];
+ char padded_addr[sizeof(struct sockaddr_storage)];
+ char buf[32];
+ int rv, fd;
+
+ log_debug("set_configfs_node %d %s local %d",
+ nodeid, str_ip(addr), local);
+
+ rv = add_configfs_base();
+ if (rv < 0)
+ return rv;
/*
* create comm dir for this node
@@ -649,3 +661,34 @@
log_error("%s: rmdir failed: %d", path, errno);
}
+int set_configfs_debug(int val)
+{
+ char path[PATH_MAX];
+ char buf[32];
+ int fd, rv;
+
+ rv = add_configfs_base();
+ if (rv < 0)
+ return rv;
+
+ memset(path, 0, PATH_MAX);
+ snprintf(path, PATH_MAX, "%s/log_debug", CLUSTER_DIR);
+
+ fd = open(path, O_WRONLY);
+ if (fd < 0) {
+ log_debug("%s: open failed: %d", path, errno);
+ return fd;
+ }
+
+ memset(buf, 0, sizeof(buf));
+ snprintf(buf, 32, "%d", val);
+
+ rv = do_write(fd, buf, strlen(buf));
+ if (rv < 0) {
+ log_error("%s: write failed: %d", path, errno);
+ return rv;
+ }
+ close(fd);
+ return 0;
+}
+
--- cluster/group/dlm_controld/dlm_daemon.h 2006/10/24 16:16:31 1.5
+++ cluster/group/dlm_controld/dlm_daemon.h 2007/01/09 19:18:18 1.5.2.1
@@ -52,6 +52,7 @@
extern char *prog_name;
extern int daemon_debug_opt;
+extern int kernel_debug_opt;
extern char daemon_debug_buf[256];
#define log_debug(fmt, args...) \
@@ -81,6 +82,7 @@
void clear_configfs(void);
int set_members(char *name, int new_count, int *new_members);
int set_id(char *name, uint32_t id);
+int set_configfs_debug(int val);
/* member_xxx.c */
int setup_member(void);
--- cluster/group/dlm_controld/main.c 2006/11/15 14:44:02 1.6.2.1
+++ cluster/group/dlm_controld/main.c 2007/01/09 19:18:18 1.6.2.2
@@ -12,7 +12,7 @@
#include "dlm_daemon.h"
-#define OPTION_STRING "DhV"
+#define OPTION_STRING "KDhV"
#define LOCKFILE_NAME "/var/run/dlm_controld.pid"
static int uevent_fd;
@@ -342,6 +342,7 @@
printf("Options:\n");
printf("\n");
printf(" -D Enable debugging code and don't fork\n");
+ printf(" -K Enable kernel dlm debugging messages\n");
printf(" -h Print this help, then exit\n");
printf(" -V Print program version information, then exit\n");
}
@@ -360,6 +361,10 @@
daemon_debug_opt = 1;
break;
+ case 'K':
+ kernel_debug_opt = 1;
+ break;
+
case 'h':
print_usage();
exit(EXIT_SUCCESS);
@@ -426,4 +431,5 @@
char *prog_name;
int daemon_debug_opt;
char daemon_debug_buf[256];
+int kernel_debug_opt;
--- cluster/group/dlm_controld/member_cman.c 2006/12/14 19:57:35 1.4.2.1
+++ cluster/group/dlm_controld/member_cman.c 2007/01/09 19:18:18 1.4.2.2
@@ -179,6 +179,8 @@
clear_configfs();
+ set_configfs_debug(kernel_debug_opt);
+
old_node_count = 0;
memset(&old_nodes, 0, sizeof(old_nodes));
cman_node_count = 0;
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ...
@ 2007-04-23 15:24 teigland
0 siblings, 0 replies; 8+ messages in thread
From: teigland @ 2007-04-23 15:24 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: teigland at sourceware.org 2007-04-23 16:24:47
Modified files:
group/dlm_controld: action.c dlm_daemon.h main.c
Log message:
Look for a protocol setting in cluster.conf dlm section, and set
kernel accordingly if found.
Also, set /proc/self/oom_adj (all daemons will get this).
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/action.c.diff?cvsroot=cluster&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/dlm_daemon.h.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/main.c.diff?cvsroot=cluster&r1=1.9&r2=1.10
--- cluster/group/dlm_controld/action.c 2007/01/09 19:17:08 1.9
+++ cluster/group/dlm_controld/action.c 2007/04/23 15:24:47 1.10
@@ -692,3 +692,87 @@
return 0;
}
+#define PROTOCOL_PATH "/cluster/dlm/@protocol"
+#define PROTO_TCP 1
+#define PROTO_SCTP 2
+
+static int get_ccs_protocol(int cd)
+{
+ char path[PATH_MAX], *str;
+ int error, rv;
+
+ memset(path, 0, PATH_MAX);
+ sprintf(path, PROTOCOL_PATH);
+
+ error = ccs_get(cd, path, &str);
+ if (error || !str)
+ return -1;
+
+ if (!strncasecmp(str, "tcp", 3))
+ rv = PROTO_TCP;
+ else if (!strncasecmp(str, "sctp", 4))
+ rv = PROTO_SCTP;
+ else {
+ log_error("read invalid dlm protocol from ccs");
+ rv = 0;
+ }
+
+ free(str);
+ return rv;
+}
+
+static int set_configfs_protocol(int proto)
+{
+ char path[PATH_MAX];
+ char buf[32];
+ int fd, rv;
+
+ rv = add_configfs_base();
+ if (rv < 0)
+ return rv;
+
+ memset(path, 0, PATH_MAX);
+ snprintf(path, PATH_MAX, "%s/protocol", CLUSTER_DIR);
+
+ fd = open(path, O_WRONLY);
+ if (fd < 0) {
+ log_debug("%s: open failed: %d", path, errno);
+ return fd;
+ }
+
+ memset(buf, 0, sizeof(buf));
+ snprintf(buf, 32, "%d", proto);
+
+ rv = do_write(fd, buf, strlen(buf));
+ if (rv < 0) {
+ log_error("%s: write failed: %d", path, errno);
+ return rv;
+ }
+ close(fd);
+ return 0;
+}
+
+void set_protocol(void)
+{
+ int cd, rv, proto;
+
+ cd = open_ccs();
+
+ rv = get_ccs_protocol(cd);
+
+ if (!rv || rv < 0)
+ goto out;
+
+ /* for dlm kernel, TCP=0 and SCTP=1 */
+ if (rv == PROTO_TCP)
+ proto = 0;
+ else if (rv == PROTO_SCTP)
+ proto = 1;
+ else
+ goto out;
+
+ set_configfs_protocol(proto);
+ out:
+ ccs_disconnect(cd);
+}
+
--- cluster/group/dlm_controld/dlm_daemon.h 2007/02/09 16:05:30 1.7
+++ cluster/group/dlm_controld/dlm_daemon.h 2007/04/23 15:24:47 1.8
@@ -84,6 +84,7 @@
int set_members(char *name, int new_count, int *new_members);
int set_id(char *name, uint32_t id);
int set_configfs_debug(int val);
+void set_protocol(void);
/* member_xxx.c */
int setup_member(void);
--- cluster/group/dlm_controld/main.c 2007/02/09 16:05:30 1.9
+++ cluster/group/dlm_controld/main.c 2007/04/23 15:24:47 1.10
@@ -399,6 +399,18 @@
}
}
+void set_oom_adj(int val)
+{
+ FILE *fp;
+
+ fp = fopen("/proc/self/oom_adj", "w");
+ if (!fp)
+ return;
+
+ fprintf(fp, "%i", val);
+ fclose(fp);
+}
+
void set_scheduler(void)
{
struct sched_param sched_param;
@@ -431,6 +443,8 @@
signal(SIGTERM, sigterm_handler);
set_scheduler();
+ set_oom_adj(-16);
+ set_protocol();
return loop();
}
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ...
@ 2007-04-23 15:31 teigland
0 siblings, 0 replies; 8+ messages in thread
From: teigland @ 2007-04-23 15:31 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: teigland at sourceware.org 2007-04-23 16:31:03
Modified files:
group/dlm_controld: action.c dlm_daemon.h main.c
Log message:
Look for a protocol setting in cluster.conf dlm section, and set
kernel accordingly if found.
Also, set /proc/self/oom_adj (all daemons will get this).
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/action.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.8.2.1&r2=1.8.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/dlm_daemon.h.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.5.2.2&r2=1.5.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/main.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.6.2.3&r2=1.6.2.4
--- cluster/group/dlm_controld/action.c 2007/01/09 19:18:18 1.8.2.1
+++ cluster/group/dlm_controld/action.c 2007/04/23 15:31:02 1.8.2.2
@@ -692,3 +692,87 @@
return 0;
}
+#define PROTOCOL_PATH "/cluster/dlm/@protocol"
+#define PROTO_TCP 1
+#define PROTO_SCTP 2
+
+static int get_ccs_protocol(int cd)
+{
+ char path[PATH_MAX], *str;
+ int error, rv;
+
+ memset(path, 0, PATH_MAX);
+ sprintf(path, PROTOCOL_PATH);
+
+ error = ccs_get(cd, path, &str);
+ if (error || !str)
+ return -1;
+
+ if (!strncasecmp(str, "tcp", 3))
+ rv = PROTO_TCP;
+ else if (!strncasecmp(str, "sctp", 4))
+ rv = PROTO_SCTP;
+ else {
+ log_error("read invalid dlm protocol from ccs");
+ rv = 0;
+ }
+
+ free(str);
+ return rv;
+}
+
+static int set_configfs_protocol(int proto)
+{
+ char path[PATH_MAX];
+ char buf[32];
+ int fd, rv;
+
+ rv = add_configfs_base();
+ if (rv < 0)
+ return rv;
+
+ memset(path, 0, PATH_MAX);
+ snprintf(path, PATH_MAX, "%s/protocol", CLUSTER_DIR);
+
+ fd = open(path, O_WRONLY);
+ if (fd < 0) {
+ log_debug("%s: open failed: %d", path, errno);
+ return fd;
+ }
+
+ memset(buf, 0, sizeof(buf));
+ snprintf(buf, 32, "%d", proto);
+
+ rv = do_write(fd, buf, strlen(buf));
+ if (rv < 0) {
+ log_error("%s: write failed: %d", path, errno);
+ return rv;
+ }
+ close(fd);
+ return 0;
+}
+
+void set_protocol(void)
+{
+ int cd, rv, proto;
+
+ cd = open_ccs();
+
+ rv = get_ccs_protocol(cd);
+
+ if (!rv || rv < 0)
+ goto out;
+
+ /* for dlm kernel, TCP=0 and SCTP=1 */
+ if (rv == PROTO_TCP)
+ proto = 0;
+ else if (rv == PROTO_SCTP)
+ proto = 1;
+ else
+ goto out;
+
+ set_configfs_protocol(proto);
+ out:
+ ccs_disconnect(cd);
+}
+
--- cluster/group/dlm_controld/dlm_daemon.h 2007/02/09 16:05:38 1.5.2.2
+++ cluster/group/dlm_controld/dlm_daemon.h 2007/04/23 15:31:02 1.5.2.3
@@ -84,6 +84,7 @@
int set_members(char *name, int new_count, int *new_members);
int set_id(char *name, uint32_t id);
int set_configfs_debug(int val);
+void set_protocol(void);
/* member_xxx.c */
int setup_member(void);
--- cluster/group/dlm_controld/main.c 2007/02/09 16:05:38 1.6.2.3
+++ cluster/group/dlm_controld/main.c 2007/04/23 15:31:02 1.6.2.4
@@ -399,6 +399,18 @@
}
}
+void set_oom_adj(int val)
+{
+ FILE *fp;
+
+ fp = fopen("/proc/self/oom_adj", "w");
+ if (!fp)
+ return;
+
+ fprintf(fp, "%i", val);
+ fclose(fp);
+}
+
void set_scheduler(void)
{
struct sched_param sched_param;
@@ -431,6 +443,8 @@
signal(SIGTERM, sigterm_handler);
set_scheduler();
+ set_oom_adj(-16);
+ set_protocol();
return loop();
}
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ...
@ 2007-05-04 21:05 teigland
0 siblings, 0 replies; 8+ messages in thread
From: teigland @ 2007-05-04 21:05 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: teigland at sourceware.org 2007-05-04 21:05:28
Modified files:
group/dlm_controld: action.c dlm_daemon.h main.c member_cman.c
Log message:
Look in cluster.conf dlm section for protocol, timewarn, and log_debug
settings and apply them to kernel if found.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/action.c.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/dlm_daemon.h.diff?cvsroot=cluster&r1=1.8&r2=1.9
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/main.c.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/member_cman.c.diff?cvsroot=cluster&r1=1.6&r2=1.7
--- cluster/group/dlm_controld/action.c 2007/04/23 15:24:47 1.10
+++ cluster/group/dlm_controld/action.c 2007/05/04 21:05:28 1.11
@@ -661,7 +661,89 @@
log_error("%s: rmdir failed: %d", path, errno);
}
-int set_configfs_debug(int val)
+#define PROTOCOL_PATH "/cluster/dlm/@protocol"
+#define PROTO_TCP 1
+#define PROTO_SCTP 2
+
+static int get_ccs_protocol(int cd)
+{
+ char path[PATH_MAX], *str;
+ int error, rv;
+
+ memset(path, 0, PATH_MAX);
+ sprintf(path, PROTOCOL_PATH);
+
+ error = ccs_get(cd, path, &str);
+ if (error || !str)
+ return -1;
+
+ if (!strncasecmp(str, "tcp", 3))
+ rv = PROTO_TCP;
+ else if (!strncasecmp(str, "sctp", 4))
+ rv = PROTO_SCTP;
+ else {
+ log_error("read invalid dlm protocol from ccs");
+ rv = 0;
+ }
+
+ free(str);
+ log_debug("got ccs protocol %d", rv);
+ return rv;
+}
+
+#define TIMEWARN_PATH "/cluster/dlm/@timewarn"
+
+static int get_ccs_timewarn(int cd)
+{
+ char path[PATH_MAX], *str;
+ int error, rv;
+
+ memset(path, 0, PATH_MAX);
+ sprintf(path, TIMEWARN_PATH);
+
+ error = ccs_get(cd, path, &str);
+ if (error || !str)
+ return -1;
+
+ rv = atoi(str);
+
+ if (rv <= 0) {
+ log_error("read invalid dlm timewarn from ccs");
+ rv = -1;
+ }
+
+ free(str);
+ log_debug("got ccs timewarn %d", rv);
+ return rv;
+}
+
+#define DEBUG_PATH "/cluster/dlm/@log_debug"
+
+static int get_ccs_debug(int cd)
+{
+ char path[PATH_MAX], *str;
+ int error, rv;
+
+ memset(path, 0, PATH_MAX);
+ sprintf(path, DEBUG_PATH);
+
+ error = ccs_get(cd, path, &str);
+ if (error || !str)
+ return -1;
+
+ rv = atoi(str);
+
+ if (rv < 0) {
+ log_error("read invalid dlm log_debug from ccs");
+ rv = -1;
+ }
+
+ free(str);
+ log_debug("got ccs log_debug %d", rv);
+ return rv;
+}
+
+static int set_configfs_protocol(int proto)
{
char path[PATH_MAX];
char buf[32];
@@ -672,16 +754,16 @@
return rv;
memset(path, 0, PATH_MAX);
- snprintf(path, PATH_MAX, "%s/log_debug", CLUSTER_DIR);
+ snprintf(path, PATH_MAX, "%s/protocol", CLUSTER_DIR);
fd = open(path, O_WRONLY);
if (fd < 0) {
- log_debug("%s: open failed: %d", path, errno);
+ log_error("%s: open failed: %d", path, errno);
return fd;
}
memset(buf, 0, sizeof(buf));
- snprintf(buf, 32, "%d", val);
+ snprintf(buf, 32, "%d", proto);
rv = do_write(fd, buf, strlen(buf));
if (rv < 0) {
@@ -689,39 +771,43 @@
return rv;
}
close(fd);
+ log_debug("set protocol %d", proto);
return 0;
}
-#define PROTOCOL_PATH "/cluster/dlm/@protocol"
-#define PROTO_TCP 1
-#define PROTO_SCTP 2
-
-static int get_ccs_protocol(int cd)
+static int set_configfs_timewarn(int cs)
{
- char path[PATH_MAX], *str;
- int error, rv;
+ char path[PATH_MAX];
+ char buf[32];
+ int fd, rv;
- memset(path, 0, PATH_MAX);
- sprintf(path, PROTOCOL_PATH);
+ rv = add_configfs_base();
+ if (rv < 0)
+ return rv;
- error = ccs_get(cd, path, &str);
- if (error || !str)
- return -1;
+ memset(path, 0, PATH_MAX);
+ snprintf(path, PATH_MAX, "%s/timewarn_cs", CLUSTER_DIR);
- if (!strncasecmp(str, "tcp", 3))
- rv = PROTO_TCP;
- else if (!strncasecmp(str, "sctp", 4))
- rv = PROTO_SCTP;
- else {
- log_error("read invalid dlm protocol from ccs");
- rv = 0;
+ fd = open(path, O_WRONLY);
+ if (fd < 0) {
+ log_error("%s: open failed: %d", path, errno);
+ return fd;
}
- free(str);
- return rv;
+ memset(buf, 0, sizeof(buf));
+ snprintf(buf, 32, "%d", cs);
+
+ rv = do_write(fd, buf, strlen(buf));
+ if (rv < 0) {
+ log_error("%s: write failed: %d", path, errno);
+ return rv;
+ }
+ close(fd);
+ log_debug("set timewarn_cs %d", cs);
+ return 0;
}
-static int set_configfs_protocol(int proto)
+static int set_configfs_debug(int val)
{
char path[PATH_MAX];
char buf[32];
@@ -732,16 +818,16 @@
return rv;
memset(path, 0, PATH_MAX);
- snprintf(path, PATH_MAX, "%s/protocol", CLUSTER_DIR);
+ snprintf(path, PATH_MAX, "%s/log_debug", CLUSTER_DIR);
fd = open(path, O_WRONLY);
if (fd < 0) {
- log_debug("%s: open failed: %d", path, errno);
+ log_error("%s: open failed: %d", path, errno);
return fd;
}
memset(buf, 0, sizeof(buf));
- snprintf(buf, 32, "%d", proto);
+ snprintf(buf, 32, "%d", val);
rv = do_write(fd, buf, strlen(buf));
if (rv < 0) {
@@ -749,19 +835,17 @@
return rv;
}
close(fd);
+ log_debug("set log_debug %d", val);
return 0;
}
-void set_protocol(void)
+static void set_protocol(int cd)
{
- int cd, rv, proto;
-
- cd = open_ccs();
+ int rv, proto;
rv = get_ccs_protocol(cd);
-
if (!rv || rv < 0)
- goto out;
+ return;
/* for dlm kernel, TCP=0 and SCTP=1 */
if (rv == PROTO_TCP)
@@ -769,10 +853,45 @@
else if (rv == PROTO_SCTP)
proto = 1;
else
- goto out;
+ return;
set_configfs_protocol(proto);
- out:
+}
+
+static void set_timewarn(int cd)
+{
+ int rv;
+
+ rv = get_ccs_timewarn(cd);
+ if (rv < 0)
+ return;
+
+ set_configfs_timewarn(rv);
+}
+
+static void set_debug(int cd)
+{
+ int rv;
+
+ rv = get_ccs_debug(cd);
+ if (rv < 0)
+ return;
+
+ set_configfs_debug(rv);
+}
+
+void set_ccs_options(void)
+{
+ int cd;
+
+ cd = open_ccs();
+
+ log_debug("set_ccs_options %d", cd);
+
+ set_protocol(cd);
+ set_timewarn(cd);
+ set_debug(cd);
+
ccs_disconnect(cd);
}
--- cluster/group/dlm_controld/dlm_daemon.h 2007/04/23 15:24:47 1.8
+++ cluster/group/dlm_controld/dlm_daemon.h 2007/05/04 21:05:28 1.9
@@ -83,8 +83,7 @@
void clear_configfs(void);
int set_members(char *name, int new_count, int *new_members);
int set_id(char *name, uint32_t id);
-int set_configfs_debug(int val);
-void set_protocol(void);
+void set_ccs_options(void);
/* member_xxx.c */
int setup_member(void);
--- cluster/group/dlm_controld/main.c 2007/04/23 15:24:47 1.10
+++ cluster/group/dlm_controld/main.c 2007/05/04 21:05:28 1.11
@@ -444,7 +444,13 @@
set_scheduler();
set_oom_adj(-16);
- set_protocol();
+
+ /* if this daemon was killed and the cluster shut down, and
+ then the cluster brought back up and this daemon restarted,
+ there will be old configfs entries we need to clear out */
+ clear_configfs();
+
+ set_ccs_options();
return loop();
}
--- cluster/group/dlm_controld/member_cman.c 2007/01/09 19:17:08 1.6
+++ cluster/group/dlm_controld/member_cman.c 2007/05/04 21:05:28 1.7
@@ -173,14 +173,6 @@
}
local_nodeid = node.cn_nodeid;
- /* if this daemon was killed and the cluster shut down, and
- then the cluster brought back up and this daemon restarted,
- there will be old configfs entries we need to clear out */
-
- clear_configfs();
-
- set_configfs_debug(kernel_debug_opt);
-
old_node_count = 0;
memset(&old_nodes, 0, sizeof(old_nodes));
cman_node_count = 0;
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ...
@ 2007-05-04 21:14 teigland
0 siblings, 0 replies; 8+ messages in thread
From: teigland @ 2007-05-04 21:14 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: teigland at sourceware.org 2007-05-04 21:14:32
Modified files:
group/dlm_controld: action.c dlm_daemon.h main.c member_cman.c
Log message:
Look in cluster.conf dlm section for protocol, timewarn, and log_debug
settings and apply them to kernel if found.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/action.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.8.2.2&r2=1.8.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/dlm_daemon.h.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.5.2.3&r2=1.5.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/main.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.6.2.4&r2=1.6.2.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/member_cman.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.2&r2=1.4.2.3
--- cluster/group/dlm_controld/action.c 2007/04/23 15:31:02 1.8.2.2
+++ cluster/group/dlm_controld/action.c 2007/05/04 21:14:32 1.8.2.3
@@ -661,7 +661,89 @@
log_error("%s: rmdir failed: %d", path, errno);
}
-int set_configfs_debug(int val)
+#define PROTOCOL_PATH "/cluster/dlm/@protocol"
+#define PROTO_TCP 1
+#define PROTO_SCTP 2
+
+static int get_ccs_protocol(int cd)
+{
+ char path[PATH_MAX], *str;
+ int error, rv;
+
+ memset(path, 0, PATH_MAX);
+ sprintf(path, PROTOCOL_PATH);
+
+ error = ccs_get(cd, path, &str);
+ if (error || !str)
+ return -1;
+
+ if (!strncasecmp(str, "tcp", 3))
+ rv = PROTO_TCP;
+ else if (!strncasecmp(str, "sctp", 4))
+ rv = PROTO_SCTP;
+ else {
+ log_error("read invalid dlm protocol from ccs");
+ rv = 0;
+ }
+
+ free(str);
+ log_debug("got ccs protocol %d", rv);
+ return rv;
+}
+
+#define TIMEWARN_PATH "/cluster/dlm/@timewarn"
+
+static int get_ccs_timewarn(int cd)
+{
+ char path[PATH_MAX], *str;
+ int error, rv;
+
+ memset(path, 0, PATH_MAX);
+ sprintf(path, TIMEWARN_PATH);
+
+ error = ccs_get(cd, path, &str);
+ if (error || !str)
+ return -1;
+
+ rv = atoi(str);
+
+ if (rv <= 0) {
+ log_error("read invalid dlm timewarn from ccs");
+ rv = -1;
+ }
+
+ free(str);
+ log_debug("got ccs timewarn %d", rv);
+ return rv;
+}
+
+#define DEBUG_PATH "/cluster/dlm/@log_debug"
+
+static int get_ccs_debug(int cd)
+{
+ char path[PATH_MAX], *str;
+ int error, rv;
+
+ memset(path, 0, PATH_MAX);
+ sprintf(path, DEBUG_PATH);
+
+ error = ccs_get(cd, path, &str);
+ if (error || !str)
+ return -1;
+
+ rv = atoi(str);
+
+ if (rv < 0) {
+ log_error("read invalid dlm log_debug from ccs");
+ rv = -1;
+ }
+
+ free(str);
+ log_debug("got ccs log_debug %d", rv);
+ return rv;
+}
+
+static int set_configfs_protocol(int proto)
{
char path[PATH_MAX];
char buf[32];
@@ -672,16 +754,16 @@
return rv;
memset(path, 0, PATH_MAX);
- snprintf(path, PATH_MAX, "%s/log_debug", CLUSTER_DIR);
+ snprintf(path, PATH_MAX, "%s/protocol", CLUSTER_DIR);
fd = open(path, O_WRONLY);
if (fd < 0) {
- log_debug("%s: open failed: %d", path, errno);
+ log_error("%s: open failed: %d", path, errno);
return fd;
}
memset(buf, 0, sizeof(buf));
- snprintf(buf, 32, "%d", val);
+ snprintf(buf, 32, "%d", proto);
rv = do_write(fd, buf, strlen(buf));
if (rv < 0) {
@@ -689,39 +771,43 @@
return rv;
}
close(fd);
+ log_debug("set protocol %d", proto);
return 0;
}
-#define PROTOCOL_PATH "/cluster/dlm/@protocol"
-#define PROTO_TCP 1
-#define PROTO_SCTP 2
-
-static int get_ccs_protocol(int cd)
+static int set_configfs_timewarn(int cs)
{
- char path[PATH_MAX], *str;
- int error, rv;
+ char path[PATH_MAX];
+ char buf[32];
+ int fd, rv;
- memset(path, 0, PATH_MAX);
- sprintf(path, PROTOCOL_PATH);
+ rv = add_configfs_base();
+ if (rv < 0)
+ return rv;
- error = ccs_get(cd, path, &str);
- if (error || !str)
- return -1;
+ memset(path, 0, PATH_MAX);
+ snprintf(path, PATH_MAX, "%s/timewarn_cs", CLUSTER_DIR);
- if (!strncasecmp(str, "tcp", 3))
- rv = PROTO_TCP;
- else if (!strncasecmp(str, "sctp", 4))
- rv = PROTO_SCTP;
- else {
- log_error("read invalid dlm protocol from ccs");
- rv = 0;
+ fd = open(path, O_WRONLY);
+ if (fd < 0) {
+ log_error("%s: open failed: %d", path, errno);
+ return fd;
}
- free(str);
- return rv;
+ memset(buf, 0, sizeof(buf));
+ snprintf(buf, 32, "%d", cs);
+
+ rv = do_write(fd, buf, strlen(buf));
+ if (rv < 0) {
+ log_error("%s: write failed: %d", path, errno);
+ return rv;
+ }
+ close(fd);
+ log_debug("set timewarn_cs %d", cs);
+ return 0;
}
-static int set_configfs_protocol(int proto)
+static int set_configfs_debug(int val)
{
char path[PATH_MAX];
char buf[32];
@@ -732,16 +818,16 @@
return rv;
memset(path, 0, PATH_MAX);
- snprintf(path, PATH_MAX, "%s/protocol", CLUSTER_DIR);
+ snprintf(path, PATH_MAX, "%s/log_debug", CLUSTER_DIR);
fd = open(path, O_WRONLY);
if (fd < 0) {
- log_debug("%s: open failed: %d", path, errno);
+ log_error("%s: open failed: %d", path, errno);
return fd;
}
memset(buf, 0, sizeof(buf));
- snprintf(buf, 32, "%d", proto);
+ snprintf(buf, 32, "%d", val);
rv = do_write(fd, buf, strlen(buf));
if (rv < 0) {
@@ -749,19 +835,17 @@
return rv;
}
close(fd);
+ log_debug("set log_debug %d", val);
return 0;
}
-void set_protocol(void)
+static void set_protocol(int cd)
{
- int cd, rv, proto;
-
- cd = open_ccs();
+ int rv, proto;
rv = get_ccs_protocol(cd);
-
if (!rv || rv < 0)
- goto out;
+ return;
/* for dlm kernel, TCP=0 and SCTP=1 */
if (rv == PROTO_TCP)
@@ -769,10 +853,45 @@
else if (rv == PROTO_SCTP)
proto = 1;
else
- goto out;
+ return;
set_configfs_protocol(proto);
- out:
+}
+
+static void set_timewarn(int cd)
+{
+ int rv;
+
+ rv = get_ccs_timewarn(cd);
+ if (rv < 0)
+ return;
+
+ set_configfs_timewarn(rv);
+}
+
+static void set_debug(int cd)
+{
+ int rv;
+
+ rv = get_ccs_debug(cd);
+ if (rv < 0)
+ return;
+
+ set_configfs_debug(rv);
+}
+
+void set_ccs_options(void)
+{
+ int cd;
+
+ cd = open_ccs();
+
+ log_debug("set_ccs_options %d", cd);
+
+ set_protocol(cd);
+ set_timewarn(cd);
+ set_debug(cd);
+
ccs_disconnect(cd);
}
--- cluster/group/dlm_controld/dlm_daemon.h 2007/04/23 15:31:02 1.5.2.3
+++ cluster/group/dlm_controld/dlm_daemon.h 2007/05/04 21:14:32 1.5.2.4
@@ -83,8 +83,7 @@
void clear_configfs(void);
int set_members(char *name, int new_count, int *new_members);
int set_id(char *name, uint32_t id);
-int set_configfs_debug(int val);
-void set_protocol(void);
+void set_ccs_options(void);
/* member_xxx.c */
int setup_member(void);
--- cluster/group/dlm_controld/main.c 2007/04/23 15:31:02 1.6.2.4
+++ cluster/group/dlm_controld/main.c 2007/05/04 21:14:32 1.6.2.5
@@ -444,7 +444,13 @@
set_scheduler();
set_oom_adj(-16);
- set_protocol();
+
+ /* if this daemon was killed and the cluster shut down, and
+ then the cluster brought back up and this daemon restarted,
+ there will be old configfs entries we need to clear out */
+ clear_configfs();
+
+ set_ccs_options();
return loop();
}
--- cluster/group/dlm_controld/member_cman.c 2007/01/09 19:18:18 1.4.2.2
+++ cluster/group/dlm_controld/member_cman.c 2007/05/04 21:14:32 1.4.2.3
@@ -173,14 +173,6 @@
}
local_nodeid = node.cn_nodeid;
- /* if this daemon was killed and the cluster shut down, and
- then the cluster brought back up and this daemon restarted,
- there will be old configfs entries we need to clear out */
-
- clear_configfs();
-
- set_configfs_debug(kernel_debug_opt);
-
old_node_count = 0;
memset(&old_nodes, 0, sizeof(old_nodes));
cman_node_count = 0;
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-05-04 21:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-05 7:52 [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon pcaulfield
-- strict thread matches above, loose matches on Subject: below --
2006-10-24 16:16 teigland
2007-01-09 19:17 teigland
2007-01-09 19:18 teigland
2007-04-23 15:24 teigland
2007-04-23 15:31 teigland
2007-05-04 21:05 teigland
2007-05-04 21:14 teigland
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).