[SCM] CTDB repository - branch master updated - ctdb-1.0.113-102-g9f48440

Ronnie Sahlberg sahlberg at samba.org
Sun Feb 21 20:07:45 MST 2010


The branch, master has been updated
       via  9f484404030211df85a215fd2280568a2ec020fb (commit)
       via  fcebbc3484ce56c57def745ea51c053dfb02a657 (commit)
       via  b6d939c9758c7d2e39206838492f2f644dd61db7 (commit)
      from  2263cd74d511247debadd0f6602bc6396b46ac5e (commit)

http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 9f484404030211df85a215fd2280568a2ec020fb
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Mon Feb 22 14:06:52 2010 +1100

    From Sumit Bose <sbose at redhat.com>
    
    Fixes for init script to meet guidelines

commit fcebbc3484ce56c57def745ea51c053dfb02a657
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Mon Feb 22 14:00:33 2010 +1100

    From Elia Pinto <gitter.spiros at gmail.com>
    
    We dont need to include getopt.h under AIX

commit b6d939c9758c7d2e39206838492f2f644dd61db7
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Tue Feb 16 11:18:43 2010 +1100

    Ignore any scripts that timesout for most events, except startup.
    
    Threat hung scripts always (except startup) as success.

-----------------------------------------------------------------------

Summary of changes:
 config/ctdb.init            |   20 +++++++++++++-------
 server/eventscript.c        |   16 +++++++++++++++-
 utils/ping_pong/ping_pong.c |    3 ---
 3 files changed, 28 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/config/ctdb.init b/config/ctdb.init
index 8721e31..7dfdd26 100755
--- a/config/ctdb.init
+++ b/config/ctdb.init
@@ -171,7 +171,7 @@ start() {
 
     ctdb ping >/dev/null 2>&1 && {
 	echo $"CTDB is already running"
-	return 1
+	return 0
     }
 
     build_ctdb_options
@@ -215,7 +215,7 @@ start() {
     set_ctdb_variables
 
     return $RETVAL
-}	
+}
 
 stop() {
     echo -n $"Shutting down ctdbd service: "
@@ -262,7 +262,7 @@ stop() {
 restart() {
     stop
     start
-}	
+}
 
 status() {
     echo -n $"Checking for ctdbd service: "
@@ -275,7 +275,13 @@ status() {
 		rc_status -v
 		;;
 	    redhat)
-		echo ""
+		if [ -f /var/lock/subsys/ctdb ]; then
+			echo $"ctdb dead but subsys locked"
+			RETVAL=2
+		else
+			echo $"ctdb is stopped"
+			RETVAL=3
+		fi
 		;;
 	esac
 	return $RETVAL
@@ -292,13 +298,13 @@ case "$1" in
     stop)
   	stop
 	;;
-    restart|reload)
+    restart|reload|force-reload)
   	restart
 	;;
     status)
   	status
 	;;
-    condrestart)
+    condrestart|try-restart)
   	ctdb status > /dev/null && restart || :
 	;;
     cron)
@@ -306,7 +312,7 @@ case "$1" in
   	ctdb status > /dev/null || restart
 	;;
     *)
-	echo $"Usage: $0 {start|stop|restart|status|cron|condrestart}"
+	echo $"Usage: $0 {start|stop|restart|reload|force-reload|status|cron|condrestart|try-restart}"
 	exit 1
 esac
 
diff --git a/server/eventscript.c b/server/eventscript.c
index e12491c..9cd9537 100644
--- a/server/eventscript.c
+++ b/server/eventscript.c
@@ -516,7 +516,21 @@ static void ctdb_event_script_timeout(struct event_context *ev, struct timed_eve
 	DEBUG(DEBUG_ERR,("Event script timed out : %s %s %s count : %u  pid : %d\n",
 			 current->name, ctdb_eventscript_call_names[state->call], state->options, ctdb->event_script_timeouts, state->child));
 
-	state->scripts->scripts[state->current].status = -ETIME;
+	/* ignore timeouts for these events */
+	switch (state->call) {
+	case CTDB_EVENT_START_RECOVERY:
+	case CTDB_EVENT_RECOVERED:
+	case CTDB_EVENT_TAKE_IP:
+	case CTDB_EVENT_RELEASE_IP:
+	case CTDB_EVENT_STOPPED:
+	case CTDB_EVENT_MONITOR:
+	case CTDB_EVENT_STATUS:
+		state->scripts->scripts[state->current].status = 0;
+		DEBUG(DEBUG_ERR,("Ignoring hung script for %s call %d\n", state->options, state->call));
+		break;
+        default:
+		state->scripts->scripts[state->current].status = -ETIME;
+	}
 
 	if (kill(state->child, 0) != 0) {
 		DEBUG(DEBUG_ERR,("Event script child process already dead, errno %s(%d)\n", strerror(errno), errno));
diff --git a/utils/ping_pong/ping_pong.c b/utils/ping_pong/ping_pong.c
index 6061ee7..098dacd 100644
--- a/utils/ping_pong/ping_pong.c
+++ b/utils/ping_pong/ping_pong.c
@@ -37,9 +37,6 @@
 #include <string.h>
 #include <unistd.h>
 #include <fcntl.h>
-#ifndef _AIX
-#include <getopt.h>
-#endif
 #include <sys/mman.h>
 
 static struct timeval tp1,tp2;


-- 
CTDB repository


More information about the samba-cvs mailing list