Rev 418: use a subdirectory for ctdb state files in http://samba.org/~tridge/ctdb

tridge at samba.org tridge at samba.org
Fri Jun 1 09:16:59 GMT 2007


------------------------------------------------------------
revno: 418
revision-id: tridge at samba.org-20070601091658-s52qj3zi6l24os2y
parent: tridge at samba.org-20070601090541-bzd2s1tp0tpiz3hn
committer: Andrew Tridgell <tridge at samba.org>
branch nick: tridge
timestamp: Fri 2007-06-01 19:16:58 +1000
message:
  use a subdirectory for ctdb state files
modified:
  tools/events                   events-20070529030121-04fjh63cxfh8v1pj-1
  tools/statd-callout            statdcallout-20070531010857-6sdlz455vusye5y5-1
=== modified file 'tools/events'
--- a/tools/events	2007-06-01 05:23:16 +0000
+++ b/tools/events	2007-06-01 09:16:58 +0000
@@ -8,6 +8,8 @@
 
 case $cmd in 
      startup)
+	/bin/rm -rf /etc/ctdb/state
+	/bin/mkdir -p /etc/ctdb/state
 	# wait for local services to come up.
 	[ -z "$CTDB_WAIT_TCP_PORTS" ] || {
 	  all_ok=0
@@ -58,15 +60,15 @@
 		 echo "`/bin/date` Failed to add $ip/$maskbits on dev $iface"
 		 exit 1
 	}
-	echo $ip >> /etc/ctdb/taken_ips
-	echo $ip >> /etc/ctdb/changed_ips
+	echo $ip >> /etc/ctdb/state/taken_ips
+	echo $ip >> /etc/ctdb/state/changed_ips
 
-	# if we have a local arp entry for this IP then remove it
-	/sbin/arp -d $ip 2> /dev/null
+	# flush our route cache
+	echo 1 > /proc/sys/net/ipv4/route/flush
 
 	# having a list of what IPs we have allows statd to do the right 
 	# thing via /etc/ctdb/statd-callout
-	/bin/touch /etc/ctdb/ip.$ip
+	/bin/touch /etc/ctdb/state/ip.$ip
 	exit 0
 	;;
 
@@ -82,30 +84,32 @@
 		 echo "`/bin/date` Failed to del $ip on dev $iface"
 		 exit 1
 	}
-	# if we have a local arp entry for this IP then remove it
-	/sbin/arp -d $ip 2> /dev/null
-	echo $ip >> /etc/ctdb/released_ips
-	echo $ip >> /etc/ctdb/changed_ips
-	/bin/rm -f /etc/ctdb/ip.$ip
+
+	# flush our route cache
+	echo 1 > /proc/sys/net/ipv4/route/flush
+
+	echo $ip >> /etc/ctdb/state/released_ips
+	echo $ip >> /etc/ctdb/state/changed_ips
+	/bin/rm -f /etc/ctdb/state/ip.$ip
 	exit 0
 	;;
 
      recovered)
 	# if we have taken or released any ips we must send out
 	# statd notifications to recover lost nfs locks
-	[ -x /etc/ctdb/statd-callout ] && [ -f /etc/ctdb/changed_ips ] && {
+	[ -x /etc/ctdb/statd-callout ] && [ -f /etc/ctdb/state/changed_ips ] && {
 		/etc/ctdb/statd-callout notify &
 	} >/dev/null 2>&1
 
         # restart NFS to ensure that all TCP connections to the released ip
 	# are closed
-	[ -f /etc/ctdb/released_ips ] && {
+	[ -f /etc/ctdb/state/released_ips ] && {
 		( /sbin/service nfs status > /dev/null 2>&1 && 
                       /sbin/service nfs restart > /dev/null 2>&1 ) &
 	} > /dev/null 2>&1
-	/bin/rm -f /etc/ctdb/changed_ips
-	/bin/rm -f /etc/ctdb/released_ips
-	/bin/rm -f /etc/ctdb/taken_ips
+	/bin/rm -f /etc/ctdb/state/changed_ips
+	/bin/rm -f /etc/ctdb/state/released_ips
+	/bin/rm -f /etc/ctdb/state/taken_ips
 	exit 0
 	;;
 

=== modified file 'tools/statd-callout'
--- a/tools/statd-callout	2007-06-01 03:14:05 +0000
+++ b/tools/statd-callout	2007-06-01 09:16:58 +0000
@@ -8,7 +8,7 @@
 
 case "$1" in
   add-client)
-        for f in `/bin/ls /etc/ctdb/ip.*`; do
+        for f in `/bin/ls /etc/ctdb/state/ip.*`; do
 	    fname=`/bin/basename $f`
 	    ip=`echo $fname | cut -d. -f2-`
 	    [ -d $STATD_SHARED_DIRECTORY/$ip ] || /bin/mkdir $STATD_SHARED_DIRECTORY/$ip
@@ -16,7 +16,7 @@
 	done
 	;;
   del-client)
-        for f in `/bin/ls /etc/ctdb/ip.*`; do
+        for f in `/bin/ls /etc/ctdb/state/ip.*`; do
 	    fname=`/bin/basename $f`
 	    ip=`echo $fname | cut -d. -f2-`
 	    /bin/rm -f $STATD_SHARED_DIRECTORY/$ip/$2
@@ -27,7 +27,7 @@
 	/sbin/service nfslock stop > /dev/null 2>&1 
 	/sbin/service nfslock start > /dev/null 2>&1 
 	# send out notifications to any additional ips we now serve
-        for f in `/bin/ls /etc/ctdb/ip.*`; do
+        for f in `/bin/ls /etc/ctdb/state/ip.*`; do
 	    fname=`/bin/basename $f`
 	    ip=`echo $fname | cut -d. -f2-`
 	    [ -d $STATD_SHARED_DIRECTORY/$ip ] && {



More information about the samba-cvs mailing list