diff options
author | Srikrishan Malik <srimalik@in.ibm.com> | 2014-02-10 11:10:48 +0530 |
---|---|---|
committer | Martin Schwenke <martins@samba.org> | 2014-02-12 06:50:08 +0100 |
commit | 6b378f2f76e433023e57dd78bc3f98e0ef1f34f1 (patch) | |
tree | a2b8c9ddc7e485f9492fb6bafcf9be4af99d89e4 | |
parent | 218d3976a5dc54f302a38818c7c07f4fd3b2b290 (diff) | |
download | samba-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-x | ctdb/config/events.d/60.ganesha | 22 |
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 |