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

Bug#474556: partman-base: Please include XEN virtual device recognition



Package: partman-base
Severity: wishlist
Tags: patch

Hi,

Here's a way to educate humandev about XEN virtual devices.
It's kind of a substitute for parted support not yet present
in libparted 1.7.1.

Thanks,
Feri.

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable'), (50, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.24.2
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Index: packages/partman/partman-base/debian/partman-base.templates
===================================================================
--- packages/partman/partman-base/debian/partman-base.templates	(revision 52428)
+++ packages/partman/partman-base/debian/partman-base.templates	(working copy)
@@ -336,6 +336,18 @@
 # :sl5:
 _Description: DASD %s (%s), partition #%s
 
+Template: partman/text/xen_virtual_disk
+Type: text
+# eg. XEN virtual disk 1 (xvda)
+# :sl4:
+_Description: XEN virtual disk %s (%s)
+
+Template: partman/text/xen_virtual_partition
+Type: text
+# eg. XEN virtual disk 1, partition #1 (xvda1)
+# :sl4:
+_Description: XEN virtual disk %s, partition #%s (%s)
+
 Template: partman/text/cancel_menu
 Type: text
 # :sl1:
Index: packages/partman/partman-base/lib/base.sh
===================================================================
--- packages/partman/partman-base/lib/base.sh	(revision 52428)
+++ packages/partman/partman-base/lib/base.sh	(working copy)
@@ -806,6 +806,21 @@
 	    disk="${1#/dev/}"
 	    humandev_dasd_disk /sys/block/$disk/$(readlink /sys/block/$disk/device)
 	    ;;
+	/dev/xvd[a-z])
+	    drive=$(printf '%d' "'$(echo $1 | sed 's,^/dev/xvd\([a-z]\).*,\1,')")
+	    drive=$(($drive - 96))
+	    linux=${1#/dev/}
+	    db_metaget partman/text/xen_virtual_disk description
+	    printf "$RET" "$drive" "$linux"
+	    ;;
+	/dev/xvd[a-z][0-9]*)
+	    drive=$(printf '%d' "'$(echo $1 | sed 's,^/dev/xvd\([a-z]\).*,\1,')")
+	    drive=$(($drive - 96))
+	    part=$(echo $1 | sed 's,^/dev/xvd[a-z]\([0-9][0-9]*\).*,\1,')
+	    linux=${1#/dev/}
+	    db_metaget partman/text/xen_virtual_partition description
+	    printf "$RET" "$drive" "$part" "$linux"
+	    ;;
 	*)
 	    # Check if it's an LVM1 device
 	    vg=`echo "$1" | sed -e 's,/dev/\([^/]\+\).*,\1,'`

Reply to: