[Libvir] virDomainConfigureDevice?
Daniel P. Berrange
berrange at redhat.com
Wed Jul 18 13:54:36 UTC 2007
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 -=|
More information about the libvir-list
mailing list