[Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ...
teigland at sourceware.org
teigland at sourceware.org
Tue Oct 24 16:16:32 UTC 2006
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;
More information about the Cluster-devel
mailing list