[libvirt] [PATCH/RFC] qemu: persist hotadd devices

Daniel Veillard veillard at redhat.com
Fri Oct 17 12:40:52 UTC 2008


On Fri, Oct 17, 2008 at 10:58:32AM +0100, Daniel P. Berrange wrote:
> On Fri, Oct 17, 2008 at 09:50:35AM +0200, Guido G?nther wrote:
> > Hi,
> > currently devices added via qemudDomainAttachDevice don't ever get
> > written out into the xml domain definition. Is this intentional?
> 
> Yes, because it allows mgmt app to decide whether they want the 
> device to be persist, or transient. If you always save the config
> then there's no way for the mgmt app to add a transient device.
> To persist it, currently we recommend calling DefineXML wit hthe
> complete config.
> 
> Arguably though, we should have a version of AttachDevice which
> allows this to be specified explicitly. Also CIM would like the
> ability to add a device to the persistent config without touching
> the inactive config.

  Well that's a good example that when defining an interface, even if
one passes an XML it's good to have a flags parameter anyway, you really
don't want to stuck this in the XML. I need to keep this in mind.

> So we could try something like
> 
>   enum {
>      VIR_DOMAIN_ATTACH_DEVICE_TRANSIENT = 0,  /* Hotplug device, don't save */
>      VIR_DOMAIN_ATTACH_DEVICE_PERSISTENT = 1, /* Hotplug device, and save  */
>      VIR_DOMAIN_ATTACH_DEVICE_INACTIVE = 2    /* Don't hotplug, only save */
>   };
> 
>   virDomainAttachDeviceOpts(virDomainPtr dom,
>                             const char *xml,
>                             int flags)
> 
> The existing method could just be a stub calling 
> 
>    virDomainAttachDevice(dom, xml, VIR_DOMAIN_ATTACH_DEVICE_TRANSIENT);

  One more entry point, sigh, but it makes sense, yes.

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list