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: