summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrikrishan Malik <srimalik@in.ibm.com>2014-02-10 11:10:48 +0530
committerMartin Schwenke <martins@samba.org>2014-02-12 06:50:08 +0100
commit6b378f2f76e433023e57dd78bc3f98e0ef1f34f1 (patch)
treea2b8c9ddc7e485f9492fb6bafcf9be4af99d89e4
parent218d3976a5dc54f302a38818c7c07f4fd3b2b290 (diff)
downloadsamba-6b378f2f76e433023e57dd78bc3f98e0ef1f34f1.tar.gz
samba-6b378f2f76e433023e57dd78bc3f98e0ef1f34f1.tar.xz
samba-6b378f2f76e433023e57dd78bc3f98e0ef1f34f1.zip
ctdb-eventscripts: Run mmlsconfig only once and use cached results
Signed-off-by: Srikrishan Malik <srimalik@in.ibm.com> Reviewed-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
-rwxr-xr-xctdb/config/events.d/60.ganesha22
1 files changed, 20 insertions, 2 deletions
diff --git a/ctdb/config/events.d/60.ganesha b/ctdb/config/events.d/60.ganesha
index 1d3263837c..e0237c88d6 100755
--- a/ctdb/config/events.d/60.ganesha
+++ b/ctdb/config/events.d/60.ganesha
@@ -50,6 +50,8 @@ is_ctdb_managed_service || exit 0
ctdb_service_check_reconfigure
+nodenum_file="${service_state_dir}/gpfs_nodenum"
+
get_cluster_fs_state ()
{
case $CTDB_CLUSTER_FILESYSTEM_TYPE in
@@ -63,6 +65,21 @@ get_cluster_fs_state ()
esac
}
+create_nodenum_file()
+{
+ NNUM=$(/usr/lpp/mmfs/bin/mmlsconfig myNodeConfigNumber | awk '{print $2}')
+ echo $NNUM > $nodenum_file
+}
+
+get_nodenum()
+{
+ if [ ! -f $nodenum_file ]; then
+ create_nodenum_file
+ fi
+ cat $nodenum_file
+}
+
+
create_ganesha_recdirs ()
{
MOUNTS=$(mount -t $CTDB_CLUSTER_FILESYSTEM_TYPE)
@@ -153,6 +170,7 @@ case "$1" in
startup)
create_ganesha_recdirs
ctdb_service_start
+ create_nodenum_file
;;
shutdown)
@@ -163,7 +181,7 @@ case "$1" in
if [ -n "$2" ] ; then
case $CTDB_CLUSTER_FILESYSTEM_TYPE in
gpfs)
- NNUM=`/usr/lpp/mmfs/bin/mmlsconfig myNodeConfigNumber | awk '{print $2}'`
+ NNUM=$(get_nodenum)
TDATE=`date +"%s"`
TOUCHTGT=$1"_"$TDATE"_"$NNUM"_"$3"_"$4"_"$2
touch $GANRECDIR2/$TOUCHTGT
@@ -177,7 +195,7 @@ case "$1" in
if [ -n "$2" ] ; then
case $CTDB_CLUSTER_FILESYSTEM_TYPE in
gpfs)
- NNUM=`/usr/lpp/mmfs/bin/mmlsconfig myNodeConfigNumber | awk '{print $2}'`
+ NNUM=$(get_nodenum)
TDATE=`date +"%s"`
TOUCHTGT=$1"_"$TDATE"_"$NNUM"_"$3"_"$4"_"$2
touch $GANRECDIR2/$TOUCHTGT