[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#699432: partman-base: parted: skip devices that are part of a mdraid device



Package: partman-base
Version: 163
Tags: patch

See metabug 699430, http://bugs.debian.org/699430 :
        (debian-installer: support for Intel Matrix Raid (RST, imsm)

  * init.d/parted: Skip devices that are part of a mdraid device

Thanks

diff -ruN 00-ORIG/partman-base-163/debian/changelog partman-base-163/debian/changelog
--- 00-ORIG/partman-base-163/debian/changelog	2012-12-21 13:49:25.000000000 +0000
+++ partman-base-163/debian/changelog	2013-01-29 14:53:17.923821518 +0000
@@ -1,3 +1,9 @@
+partman-base (163+1) unstable; urgency=low
+
+  * init.d/parted: Skip devices that are part of a mdraid device
+
+ -- Miquel van Smoorenburg <miquels@debian.org>  Tue, 29 Jan 2013 15:50:37 +0100
+
 partman-base (163) unstable; urgency=low
 
   * Revert "add debhelper token to postinst"
diff -ruN 00-ORIG/partman-base-163/init.d/parted partman-base-163/init.d/parted
--- 00-ORIG/partman-base-163/init.d/parted	2011-01-19 04:56:34.000000000 +0000
+++ partman-base-163/init.d/parted	2013-01-29 14:52:38.359133765 +0000
@@ -15,6 +15,20 @@
 	return 1
 }
 
+part_of_mdraid () {
+	local holder
+	local dev=${1#/dev/}
+	for holder in /sys/block/$dev/holders/*; do
+		local mddev=${holder##*/}
+		case "$mddev" in
+			md[0-9]|md[0-9][0-9]|md[0-9][0-9][0-9])
+				return 0
+				;;
+		esac
+	done
+	return 1
+}
+
 part_of_sataraid () {
 	local raiddev
 	for raiddev in $(dmraid -r -c); do
@@ -86,6 +100,11 @@
 			fi
 		fi
 
+		# Skip devices that are part of a mdraid device
+		if part_of_mdraid $device; then
+			continue
+		fi
+
 		# Skip devices that are part of a dmraid device
 		if type dmraid >/dev/null 2>&1 && \
 		   dmraid -r -c >/dev/null 2>&1; then


Reply to: