On Thu, Feb 19, 2015 at 11:59:38AM -0700, Jim Fehlig wrote: > Marek Marczykowski-Górecki wrote: > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx> > > --- > > > > There was a discussion about calling virDomainDefCheckABIStability. The use > > case I have for this is to start multiple domains from the same savefile. > > Interesting use case... If you're curious about details, it is used for DisposableVMs in Qubes OS: http://theinvisiblethings.blogspot.com/2010/06/disposable-vms.html Basically to speedup domain startup (with some preloaded applications etc). Domain state is discarded after its termination (disk image is read-only). > > This require changing: > > - UUID > > - name > > - IP address > > > > Did you mean mac address? I don't see where the > virtDomain*CheckABIStability() functions check for changes to IP addresses. Of course, I mean MAC address (in addition to IP address). > > Those are exactly type of changes blocked by virDomainDefCheckABIStability. > > Perhaps some "permissive" mode should be introduced to the > > virDomainDefCheckABIStability function? > > > > I'd like to hear what others think about this proposal. Are UUID and > name really part of a domain's ABI? At least by the implementation of virDomainDefCheckABIStability... Comment says this is to not confuse domain during migration. > Regards, > Jim > > > src/libxl/libxl_driver.c | 17 ++++++++++++----- > > 1 file changed, 12 insertions(+), 5 deletions(-) > > > > diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c > > index 005cc96..7539d33 100644 > > --- a/src/libxl/libxl_driver.c > > +++ b/src/libxl/libxl_driver.c > > @@ -1456,11 +1456,6 @@ libxlDomainRestoreFlags(virConnectPtr conn, const char *from, > > #endif > > > > virCheckFlags(VIR_DOMAIN_SAVE_PAUSED, -1); > > - if (dxml) { > > - virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", > > - _("xml modification unsupported")); > > - return -1; > > - } > > > > fd = libxlDomainSaveImageOpen(driver, cfg, from, &def, &hdr); > > if (fd < 0) > > @@ -1469,6 +1464,18 @@ libxlDomainRestoreFlags(virConnectPtr conn, const char *from, > > if (virDomainRestoreFlagsEnsureACL(conn, def) < 0) > > goto cleanup_unlock; > > > > + if (dxml) { > > + virDomainDefPtr def2 = NULL; > > + > > + if (!(def2 = virDomainDefParseString(dxml, cfg->caps, driver->xmlopt, > > + 1 << VIR_DOMAIN_VIRT_XEN, > > + VIR_DOMAIN_XML_INACTIVE))) { > > + goto cleanup; > > + } > > + virDomainDefFree(def); > > + def = def2; > > + } > > + > > if (!(vm = virDomainObjListAdd(driver->domains, def, > > driver->xmlopt, > > VIR_DOMAIN_OBJ_LIST_ADD_LIVE | > > -- Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing?
Attachment:
pgpZzDvMsG4SQ.pgp
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list