From ecd7bf46c21386da24953383724afb1cddaf1944 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Wed, 1 Jul 2009 11:47:01 +0000 Subject: [PATCH] - add --with-multipath=DEVPATH support svn-id: @10412 --- geninitrd | 15 +++++++++++++-- mod-multipath.sh | 4 ++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/geninitrd b/geninitrd index 5ed9012..15879b8 100755 --- a/geninitrd +++ b/geninitrd @@ -55,7 +55,8 @@ usage() { 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 " " echo "" @@ -471,6 +472,7 @@ find_modules_for_devpath() { if find_modules_multipath "$devpath"; then return fi + # fallback fi @@ -891,7 +893,10 @@ while [ $# -gt 0 ]; do 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 @@ debug "Using $rootdev as device for rootfs" 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 diff --git a/mod-multipath.sh b/mod-multipath.sh index 933b327..d85dcbb 100644 --- a/mod-multipath.sh +++ b/mod-multipath.sh @@ -24,7 +24,7 @@ is_multipath() { local devpath="$1" # multipath disabled - if ! is_yes "$USE_MULTIPATH"; then + if is_no "$USE_MULTIPATH"; then return 1 fi @@ -61,7 +61,7 @@ find_modules_multipath() { 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: -- 2.44.0