Hi, attached is an updated patch for multipath detection in hw-detect. The patch hasn't changed it's just rediffed against current SVN. Cheers, -- Guido
>From 96b6e14bf63d4df4ec62d8838ecbdbf2c30a17ba Mon Sep 17 00:00:00 2001 From: Guido Guenther <[EMAIL PROTECTED]> Date: Tue, 26 Feb 2008 13:23:38 +0100 Subject: [PATCH] add optional multipath detection to disk-detect.sh
triggered by disk-detect/multipath/enable --- packages/hw-detect/debian/disk-detect.templates | 7 ++++ packages/hw-detect/disk-detect.sh | 40 +++++++++++++++++++++++ 2 files changed, 47 insertions(+), 0 deletions(-) diff --git a/packages/hw-detect/debian/disk-detect.templates b/packages/hw-detect/debian/disk-detect.templates index 974c6b5..6383c60 100644 --- a/packages/hw-detect/debian/disk-detect.templates +++ b/packages/hw-detect/debian/disk-detect.templates @@ -35,3 +35,10 @@ Type: boolean Default: false Description: for internal use; can be preseeded Check for the presence of Serial ATA RAID (dmraid) disks? + +Template: disk-detect/multipath/enable +Type: boolean +Default: false +Description: for internal use; can be preseeded + Check for the presence of multipathed devices? + diff --git a/packages/hw-detect/disk-detect.sh b/packages/hw-detect/disk-detect.sh index 325cf4b..67129be 100755 --- a/packages/hw-detect/disk-detect.sh +++ b/packages/hw-detect/disk-detect.sh @@ -91,6 +91,20 @@ module_probe() { fi } +multipath_probe() { + MP_VERBOSE=2 + # Look for multipaths... + if [ ! -f /etc/multipath.conf ]; then +cat <<EOF >/etc/multipath.conf +defaults { + user_friendly_names yes +} +EOF + fi + log-output -t disk-detect /sbin/multipath -v$MP_VERBOSE + [ -n "$(/sbin/multipath -l)" -a $? ] && return 0 || return 1 +} + hw-detect disk-detect/detect_progress_title || true while ! disk_found; do @@ -166,3 +180,29 @@ if [ "$RET" = true ]; then fi fi fi + +# Activate support for DM Multipath +db_get disk-detect/multipath/enable +if [ "$RET" = true ]; then + if anna-install multipath-udeb; then + MODULES="dm-mod dm-multipath dm-round-robin dm-emc" + # We need some dm modules... + for MODULE in $MODULES; do + if is_not_loaded $MODULE; then + module_probe $MODULE || true + fi + done + + # Look for multipaths... + if multipath_probe; then + logger -t disk-detect "Multipath devices found; enabling multipath support" + if ! anna-install partman-multipath; then + /sbin/multipath -F + logger -t disk-detect "Error loading partman-multipath; multipath devices deactivated" + fi + else + logger -t disk-detect "No multipath devices detected" + fi + fi +fi + -- 1.5.4.2