SVN: geninitrd/trunk: geninitrd mod-multipath.sh

glen glen at pld-linux.org
Wed Jul 1 13:47:01 CEST 2009


Author: glen
Date: Wed Jul  1 13:47:01 2009
New Revision: 10412

Modified:
   geninitrd/trunk/geninitrd
   geninitrd/trunk/mod-multipath.sh
Log:
- add --with-multipath=DEVPATH support

Modified: geninitrd/trunk/geninitrd
==============================================================================
--- geninitrd/trunk/geninitrd	(original)
+++ geninitrd/trunk/geninitrd	Wed Jul  1 13:47:01 2009
@@ -55,7 +55,8 @@
 	echo "       [--lvmtoolsversion=1|2] [--with-udev] [--without-udev]"
 	echo "       [--with-suspend] [--without-suspend]"
 	echo "       [--with-tuxonice] [--without-tuxonice]"
-	echo "       [--without-dmraid] [--without-multipath]"
+	echo "       [--without-dmraid]"
+	echo "       [--with-multipath=DEVPATH] [--without-multipath]"
 	echo "       [--without-blkid] [--without-luks]"
 	echo "       <initrd-image> <kernel-version>"
 	echo ""
@@ -471,6 +472,7 @@
 		if find_modules_multipath "$devpath"; then
 			return
 		fi
+
 		# fallback
 	fi
 
@@ -891,7 +893,10 @@
 		USE_DMRAID=no
 		;;
 	--without-multipath)
-		USE_MULTPATH=no
+		USE_MULTIPATH=no
+		;;
+	--with-multipath=*)
+		USE_MULTIPATH=${1#--with-multipath=}
 		;;
 	--without-blkid)
 		USE_BLKID=no
@@ -1086,6 +1091,12 @@
 
 find_modules_for_devpath "$rootdev"
 
+# if USE_MULTIPATH is path to device, scan that too
+# this is to bootstrap multipath setup into initrd.
+if ! is_no "$USE_MULTIPATH" && ! is_yes "$USE_MULTIPATH"; then
+	find_modules_multipath $USE_MULTIPATH
+fi
+
 find_module "-$rootFs"
 
 for n in $BASICMODULES; do

Modified: geninitrd/trunk/mod-multipath.sh
==============================================================================
--- geninitrd/trunk/mod-multipath.sh	(original)
+++ geninitrd/trunk/mod-multipath.sh	Wed Jul  1 13:47:01 2009
@@ -24,7 +24,7 @@
 	local devpath="$1"
 
 	# multipath disabled
-	if ! is_yes "$USE_MULTIPATH"; then
+	if is_no "$USE_MULTIPATH"; then
 		return 1
 	fi
 
@@ -61,7 +61,7 @@
 	DM_NAME=
 	eval $(dm_export "$devpath")
 	if [ -z "$DM_NAME" ]; then
-		die "dm_export failed unexpectedly"
+		die "Couldn't extract DM_NAME from $devpath"
 	fi
 
 	# Partition:


More information about the pld-cvs-commit mailing list