[libvirt] [PATCH v2 3/4] xen: fix PyGrub device order using boot/@order

Jiri Denemark jdenemar at redhat.com
Thu Nov 3 10:21:24 UTC 2011


On Mon, Oct 31, 2011 at 13:39:09 +0100, Philipp Hahn wrote:
> When PyGrub is used as the bootloader in Xen, it gets passed the first
> bootable disk. Xend supports a "bootable"-flag for this, which was
> previously unused.
> In commit c2969ec7aec5c40519aadf422ab5c47a21938bff the bootable=1 flag
> was used to re-order the disks when converting from SEXPR to XML, such
> that on re-definition Xend would mark the first disk as bootable.
> This got broken with commit c1a98d88255197a8446d08c0b1589861660e9064,
> which reorders all disks according to their target-name, making it
> impossible to change the boot order without changing the device names.
> 
> When converting from Xen-sexpr to xml, Xens boolean bootable-flag is
> converted to libvirts cardinal bootIndex, tracking the order of disks as
> returned by Xend. This satisfies the requirement of bootIndex being
> unique.
> 
> When converting back to xen-sexpr, disks with an explicit bootIndex are
> sorted ascending before all other disks and are marked as bootable.
> 
> Explicitly mark the first disk as bootable for compatibility with Xends
> default behaviour.
> 
> Add capability "deviceboot" to Xen-PV-domains. This is not 100% correct,
> since for example PyGrub only handles disk devices and not netboot.
> 
> Signed-off-by: Philipp Hahn <hahn at univention.de>
> ---
> v2: explicitly sort disks by bootIndex
> v2: Add deviceboot capability.
> ---
>  src/xen/xen_hypervisor.c |    7 +++++++
>  src/xenxs/xen_sxpr.c     |   39 ++++++++++++++++++++++++++++++---------
>  2 files changed, 37 insertions(+), 9 deletions(-)

ACK

Jirka




More information about the libvir-list mailing list