[lvm-devel] [PATCH 1/2] Use locking_type 3 (compiled in cluster locking) in lvmconf.

Milan Broz mbroz at redhat.com
Fri Nov 27 14:01:57 UTC 2009


---
 scripts/lvmconf.sh |   53 +++++++++++++++++++++++++++------------------------
 1 files changed, 28 insertions(+), 25 deletions(-)

diff --git a/scripts/lvmconf.sh b/scripts/lvmconf.sh
index f5c4313..bf1494b 100644
--- a/scripts/lvmconf.sh
+++ b/scripts/lvmconf.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved.
 #
 # This file is part of the lvm2-cluster package.
 #
@@ -36,7 +36,7 @@ function parse_args
     while [ -n "$1" ]; do
         case $1 in
             --enable-cluster)
-                LOCKING_TYPE=2
+                LOCKING_TYPE=3
                 shift
                 ;;
             --disable-cluster)
@@ -94,20 +94,18 @@ function validate_args
 
     if [ -n "$LOCKINGLIBDIR" ]; then
 
-        [ -z "$LOCKINGLIB" ] && LOCKINGLIB="liblvm2clusterlock.so"
-            
         if [ "${LOCKINGLIBDIR:0:1}" != "/" ]
             then
             echo "Prefix must be an absolute path name (starting with a /)"
             exit 12
         fi
-    
-        if [ ! -f "$LOCKINGLIBDIR/$LOCKINGLIB" ]
+
+        if [ -n "$LOCKINGLIB" ] && [ ! -f "$LOCKINGLIBDIR/$LOCKINGLIB" ]
             then
             echo "$LOCKINGLIBDIR/$LOCKINGLIB does not exist, did you do a \"make install\" ?"
             exit 11
         fi
-        
+
     fi
 
     if [ "$LOCKING_TYPE" = "1" ] && [ -n "$LOCKINGLIBDIR" -o -n "$LOCKINGLIB" ]; then
@@ -149,7 +147,7 @@ then
     # See if we can find it...
     grep -q '^[[:blank:]]*global[[:blank:]]*{' $CONFIGFILE
     have_global=$?
-    
+
     if [ "$have_global" = "1" ] 
 	then
 	echo "global keys but no 'global {' found, can't edit file"
@@ -170,13 +168,29 @@ then
     if [ -z "$LOCKING_TYPE" ]; then
 	LOCKING_TYPE=1
     fi
-    if [ "$LOCKING_TYPE" = "2" ]; then
+    if [ "$LOCKING_TYPE" = "3" ] || [ "$LOCKING_TYPE" = "2" ]; then
         cat $CONFIGFILE - <<EOF > $TMPFILE
 global {
     # Enable locking for cluster LVM
     locking_type = $LOCKING_TYPE
     library_dir = "$LOCKINGLIBDIR"
+EOF
+        if [ $? != 0 ]
+        then
+    	    echo "failed to create temporary config file, $CONFIGFILE not updated"
+	    exit 14
+        fi
+	if [ -n "$LOCKINGLIB" ]; then
+	    cat - <<EOF >> $TMPFILE
     locking_library = "$LOCKINGLIB"
+EOF
+            if [ $? != 0 ]
+            then
+	        echo "failed to create temporary config file, $CONFIGFILE not updated"
+	        exit 16
+            fi
+	fi
+	cat - <<EOF >> $TMPFILE
 }
 EOF
     fi # if we aren't setting cluster locking, we don't need to create a global section
@@ -184,7 +198,7 @@ EOF
     if [ $? != 0 ]
     then
 	echo "failed to create temporary config file, $CONFIGFILE not updated"
-	exit 14
+	exit 17
     fi
 else
     #
@@ -200,7 +214,7 @@ else
 	    SEDCMD=" /global[[:blank:]]*{/a\ \ \ \ locking_type = $LOCKING_TYPE"
 	fi
     fi
-    
+
     if [ -n "$LOCKINGLIBDIR" ]; then
         if [ "$have_dir" = "0" ] 
             then
@@ -208,8 +222,10 @@ else
         else
             SEDCMD="${SEDCMD}\n/global[[:blank:]]*{/a\ \ \ \ library_dir = \"$LOCKINGLIBDIR\""
         fi
+    fi
 
-        if [ "$have_library" = "0" ] 
+    if [ -n "$LOCKINGLIB" ]; then
+        if [ "$have_library" = "0" ]
             then
             SEDCMD="${SEDCMD}\ns/^[[:blank:]]*locking_library[[:blank:]]*=.*/\ \ \ \ locking_library = \"$LOCKINGLIB\"/g"
         else
@@ -217,19 +233,6 @@ else
         fi
     fi
 
-    if [ "$LOCKING_TYPE" = "1" ]; then
-        # if we're not using cluster locking, remove the library dir and locking library name
-        if [ "$have_dir" = "0" ] 
-            then
-            SEDCMD="${SEDCMD}\n/^[[:blank:]]*library_dir[[:blank:]]*=.*/d"
-        fi
-
-        if [ "$have_library" = "0" ] 
-            then
-            SEDCMD="${SEDCMD}\n/^[[:blank:]]*locking_library[[:blank:]]*=.*/d"
-        fi
-    fi
-
     echo -e $SEDCMD > $SCRIPTFILE
     sed  <$CONFIGFILE >$TMPFILE -f $SCRIPTFILE
     if [ $? != 0 ]
-- 
1.6.5.3




More information about the lvm-devel mailing list