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