On Wed, Jul 18, 2007 at 10:40:48AM +0100, Richard W.M. Jones wrote:
Hugh Brock wrote:
>I'm looking at ways to replicate xm block-configure at the libvirt
>level. xm block-configure is useful in that it allows you to change the
>back device for an HVM guest while the guest is still running; this
>permits you for example to change the CDROM without shutting down your
>guest or poking around in xenstore. Thus we can have an "eject" button
>on cdrom devices in virt-manager (or "eject" and "load" buttons,
I
>guess), which we really need.
>
>The issue of course is that xm block-configure is specifically intended
>for block devices and takes arguments for the back device and the front
>device (among others). We would naturally prefer to accept a block of
>XML just as virDomainAttachDevice does and then parse it, determine if
>the device in question is of a type we can actually edit, determine if
>the new backdev is appropriate, and so on.
Definitely this will be useful for USB ...
I think the question is: Should we have another entry point
(virDomainConfigureDevice), or should we just modify
virDomainAttachDevice so that if it sees XML for a device which is
already attached it just modifies the device?
I don't mind too much either way. The only benefit a separate entry point
would give is ability for an app to get an error back if they tried to
modify a device which didn't exist. Whether they're separate or same
entry point the underlying impls will be able to share a reasonable
amount of code.
>None of this seems terribly hard, but before I go implement it,
are
>there obvious pitfalls I'm not thinking? And given that
>virDomainAttachDevice is not implemented for qemud in libvirt (is it?),
>how do we handle the non-xen case?
It seems like it isn't implemented for qemud. Changing the CD-ROM is
possible through the qemu monitor, so it should be.
I intend to implement it when adding support for USB disk & device
passthrough in QEMU/KVM. It will use the monitor for adding/removing
USB devices on the fly. Likewise we can do CDROM media changes this
way.
Regards,
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules:
http://search.cpan.org/~danberr/ -=|
|=- Projects:
http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|