From mboxrd@z Thu Jan 1 00:00:00 1970 From: teigland@sourceware.org Date: 24 Oct 2006 16:16:32 -0000 Subject: [Cluster-devel] cluster/group/dlm_controld action.c dlm_daemon ... Message-ID: <20061024161632.16951.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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 #include #include +#include #include #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;