Package: partman-auto
Version: 106
Tags: patch

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

  * don't hide /dev/md* arrays if they are provisioned on whole-disk
    devices - in that case the md array itself is partitionable,
    e.g. for md-fakeraid like imsm (Intel Matrix raid).

Thanks

diff -ruN 00-ORIG/partman-auto-106/debian/changelog 
partman-auto-106/debian/changelog
--- 00-ORIG/partman-auto-106/debian/changelog   2012-12-12 05:52:35.000000000 
+0000
+++ partman-auto-106/debian/changelog   2013-01-29 14:52:14.946726850 +0000
@@ -1,3 +1,11 @@
+partman-auto (106+1) unstable; urgency=low
+
+  * don't hide /dev/md* arrays if they are provisioned on whole-disk
+    devices - in that case the md array itself is partitionable,
+    e.g. for md-fakeraid like imsm (Intel Matrix raid).
+
+ -- Miquel van Smoorenburg <miqu...@debian.org>  Tue, 29 Jan 2013 15:50:37 
+0100
+
 partman-auto (106) unstable; urgency=low
 
   [ Updated translations ]
diff -ruN 00-ORIG/partman-auto-106/lib/auto-shared.sh 
partman-auto-106/lib/auto-shared.sh
--- 00-ORIG/partman-auto-106/lib/auto-shared.sh 2011-02-07 02:00:27.000000000 
+0000
+++ partman-auto-106/lib/auto-shared.sh 2013-01-29 14:49:59.644371625 +0000
@@ -208,6 +208,28 @@
        free_space=$(partition_after $id)'
 }
 
+is_wholedisk_mdraid () {
+       local device="`echo $1 | sed -e 's!/\([0-9]*\)$!\1!'`"
+       local mddisk=${device#/dev/}
+       local ret=0
+       local d
+
+       [ -d /sys/block/$mddisk/md ] || return 1
+
+       for d in /sys/block/$mddisk/slaves/*; do
+               case "$d" in
+                       dm-*|md*)
+                               ;;
+                       *p[0-9]|*p[0-9][0-9])
+                               ret=1
+                               break
+                               ;;
+               esac
+       done
+
+       return $ret
+}
+
 get_auto_disks() {
        local dev device dmtype
 
@@ -217,7 +239,12 @@
                device=$(cat $dev/device)
                
                # Skip software RAID (mdadm) devices (/dev/md/X and /dev/mdX)
-               $(echo "$device" | grep -Eq "/dev/md/?[0-9]*$") && continue
+               # unless it's a whole-disk partitionable array
+               if echo "$device" | grep -Eq "/dev/md/?[0-9]*$"; then
+                       if ! is_wholedisk_mdraid "$device"; then
+                               continue
+                       fi
+               fi
 
                # Skip device mapper devices (/dev/mapper/),
                # except for dmraid or multipath devices


-- 
To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130131122208.ga13...@xs4all.net

Reply via email to