diff options
author | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2010-09-03 12:35:25 +1000 |
---|---|---|
committer | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2010-09-03 12:43:28 +1000 |
commit | dc2f87737da7cdb4af5d4fd8f1875f00e92ea545 (patch) | |
tree | 64975eaf40f8ab27418e3e3ef3fa1e9b860dc4bd /ctdb/config/statd-callout | |
parent | 7c682dda5961e577c3c81ad7106f8612d2d1752c (diff) | |
download | samba-dc2f87737da7cdb4af5d4fd8f1875f00e92ea545.tar.gz |
Dont store temporary runtime data in $CTDB_BASE/state
since that will usually be /etc/ctdb/state and storing this under /etc is just
wrong.
Add a new variable CTDB_VARDIR that defaults to /var/ctdb and store the data there instead.
(This used to be ctdb commit 516423c25afa9861d9988096efa8a4a2b12b31b1)
Diffstat (limited to 'ctdb/config/statd-callout')
-rwxr-xr-x | ctdb/config/statd-callout | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/ctdb/config/statd-callout b/ctdb/config/statd-callout index 9808cb941ea..39be9d3d4a1 100755 --- a/ctdb/config/statd-callout +++ b/ctdb/config/statd-callout @@ -9,6 +9,10 @@ export CTDB_BASE="/etc/ctdb" } +[ -z "$CTDB_VARDIR" ] && { + export CTDB_VARDIR="/var/ctdb" +} + . $CTDB_BASE/functions loadconfig ctdb loadconfig nfs @@ -30,8 +34,8 @@ case "$1" in continue } IP=`echo $LINE | cut -f2 -d:` - /bin/mkdir -p $CTDB_BASE/state/statd/ip/$IP - touch $CTDB_BASE/state/statd/ip/$IP/$2 + /bin/mkdir -p $CTDB_VARDIR/state/statd/ip/$IP + touch $CTDB_VARDIR/state/statd/ip/$IP/$2 done ;; del-client) @@ -45,8 +49,8 @@ case "$1" in continue } IP=`echo $LINE | cut -f2 -d:` - mkdir -p $CTDB_BASE/state/statd/ip/$IP - /bin/rm -f $CTDB_BASE/state/statd/ip/$IP/$2 + mkdir -p $CTDB_VARDIR/state/statd/ip/$IP + /bin/rm -f $CTDB_VARDIR/state/statd/ip/$IP/$2 done ;; updatelocal) @@ -59,25 +63,25 @@ case "$1" in } IP=`echo $LINE | cut -f2 -d:` - mkdir -p $CTDB_BASE/state/statd/ip/$IP + mkdir -p $CTDB_VARDIR/state/statd/ip/$IP - rm -f $CTDB_BASE/state/statd/ip/$IP.tar - tar cfP $CTDB_BASE/state/statd/ip/$IP.tar $CTDB_BASE/state/statd/ip/$IP + rm -f $CTDB_VARDIR/state/statd/ip/$IP.tar + tar cfP $CTDB_VARDIR/state/statd/ip/$IP.tar $CTDB_VARDIR/state/statd/ip/$IP - rm -f $CTDB_BASE/state/statd/ip/$IP.rec - ctdb pfetch ctdb.tdb statd-state:$IP $CTDB_BASE/state/statd/ip/$IP.rec 2>/dev/null + rm -f $CTDB_VARDIR/state/statd/ip/$IP.rec + ctdb pfetch ctdb.tdb statd-state:$IP $CTDB_VARDIR/state/statd/ip/$IP.rec 2>/dev/null [ "$?" = "0" ] || { # something went wrong, try storing this data echo No record. Store STATD state data for $IP - ctdb pstore ctdb.tdb statd-state:$IP $CTDB_BASE/state/statd/ip/$IP.tar 2>/dev/null + ctdb pstore ctdb.tdb statd-state:$IP $CTDB_VARDIR/state/statd/ip/$IP.tar 2>/dev/null continue } - cmp $CTDB_BASE/state/statd/ip/$IP.tar $CTDB_BASE/state/statd/ip/$IP.rec >/dev/null 2>/dev/null + cmp $CTDB_VARDIR/state/statd/ip/$IP.tar $CTDB_VARDIR/state/statd/ip/$IP.rec >/dev/null 2>/dev/null [ "$?" = "0" ] || { # something went wrong, try storing this data echo Updated record. Store STATD state data for $IP - ctdb pstore ctdb.tdb statd-state:$IP $CTDB_BASE/state/statd/ip/$IP.tar 2>/dev/null + ctdb pstore ctdb.tdb statd-state:$IP $CTDB_VARDIR/state/statd/ip/$IP.tar 2>/dev/null continue } done @@ -93,16 +97,16 @@ case "$1" in } IP=`echo $LINE | cut -f2 -d:` - mkdir -p $CTDB_BASE/state/statd/ip/$IP + mkdir -p $CTDB_VARDIR/state/statd/ip/$IP - rm -f $CTDB_BASE/state/statd/ip/$IP.rec - ctdb pfetch ctdb.tdb statd-state:$IP $CTDB_BASE/state/statd/ip/$IP.rec 2>/dev/null + rm -f $CTDB_VARDIR/state/statd/ip/$IP.rec + ctdb pfetch ctdb.tdb statd-state:$IP $CTDB_VARDIR/state/statd/ip/$IP.rec 2>/dev/null [ "$?" = "0" ] || { continue } - rm -f $CTDB_BASE/state/statd/ip/$IP/* - tar xfP $CTDB_BASE/state/statd/ip/$IP.rec + rm -f $CTDB_VARDIR/state/statd/ip/$IP/* + tar xfP $CTDB_VARDIR/state/statd/ip/$IP.rec done ;; @@ -181,8 +185,8 @@ case "$1" in } IP=`echo $LINE | cut -f2 -d:` - ls $CTDB_BASE/state/statd/ip/$IP | while read CLIENT; do - rm $CTDB_BASE/state/statd/ip/$IP/$CLIENT + ls $CTDB_VARDIR/state/statd/ip/$IP | while read CLIENT; do + rm $CTDB_VARDIR/state/statd/ip/$IP/$CLIENT /usr/bin/smnotify --client=$CLIENT --ip=$IP --server=$ip --stateval=$STATE /usr/bin/smnotify --client=$CLIENT --ip=$IP --server=$NFS_HOSTNAME --stateval=$STATE STATE=`expr "$STATE" "+" "1"` |