virBuffer buf = VIR_BUFFER_INITIALIZER;
int i;
- virCheckFlags(VIR_DOMAIN_XML_SECURE, NULL);
+ virCheckFlags(VIR_DOMAIN_XML_SECURE |
+ VIR_DOMAIN_XML_UPDATE_CPU, NULL);
flags |= VIR_DOMAIN_XML_INACTIVE;
#define QEMU_NAMESPACE_HREF "http://libvirt.org/schemas/domain/qemu/1.0"
+#define QEMU_DOMAIN_FORMAT_LIVE_FLAGS \
+ (VIR_DOMAIN_XML_SECURE | \
+ VIR_DOMAIN_XML_UPDATE_CPU)
+
VIR_ENUM_DECL(qemuDomainJob)
VIR_ENUM_IMPL(qemuDomainJob, QEMU_JOB_LAST,
"none",
return qemuDomainDefFormatXML(driver, def, flags);
}
+char *
+qemuDomainDefFormatLive(struct qemud_driver *driver,
+ virDomainDefPtr def,
+ bool inactive)
+{
+ unsigned int flags = QEMU_DOMAIN_FORMAT_LIVE_FLAGS;
+
+ if (inactive)
+ flags |= VIR_DOMAIN_XML_INACTIVE;
+
+ return qemuDomainDefFormatXML(driver, def, flags);
+}
+
void qemuDomainObjTaint(struct qemud_driver *driver,
virDomainObjPtr obj,
virUUIDFormat(vm->def->uuid, uuidstr);
newxml = virDomainSnapshotDefFormat(uuidstr, snapshot->def,
- VIR_DOMAIN_XML_SECURE, 1);
- if (newxml == NULL) {
- virReportOOMError();
+ QEMU_DOMAIN_FORMAT_LIVE_FLAGS, 1);
+ if (newxml == NULL)
return -1;
- }
if (virAsprintf(&snapDir, "%s/%s", snapshotDir, vm->def->name) < 0) {
virReportOOMError();
virDomainObjPtr vm,
unsigned int flags);
+char *qemuDomainDefFormatLive(struct qemud_driver *driver,
+ virDomainDefPtr def,
+ bool inactive);
+
void qemuDomainObjTaint(struct qemud_driver *driver,
virDomainObjPtr obj,
enum virDomainTaintFlags taint,
virDomainDefFree(def);
goto endjob;
}
- xml = virDomainDefFormat(def, (VIR_DOMAIN_XML_INACTIVE |
- VIR_DOMAIN_XML_SECURE));
+ xml = qemuDomainDefFormatLive(driver, def, true);
} else {
- xml = virDomainDefFormat(vm->def, (VIR_DOMAIN_XML_INACTIVE |
- VIR_DOMAIN_XML_SECURE));
+ xml = qemuDomainDefFormatLive(driver, vm->def, true);
}
if (!xml) {
qemuReportError(VIR_ERR_OPERATION_FAILED,
} else {
/* Easiest way to clone inactive portion of vm->def is via
* conversion in and back out of xml. */
- if (!(xml = virDomainDefFormat(vm->def, (VIR_DOMAIN_XML_INACTIVE |
- VIR_DOMAIN_XML_SECURE))) ||
+ if (!(xml = qemuDomainDefFormatLive(driver, vm->def, true)) ||
!(def->dom = virDomainDefParseString(driver->caps, xml,
QEMU_EXPECTED_VIRT_TYPES,
VIR_DOMAIN_XML_INACTIVE)))
if (!virDomainDefCheckABIStability(vm->def, def))
goto cleanup;
- rv = qemuDomainDefFormatXML(driver, def,
- VIR_DOMAIN_XML_SECURE |
- VIR_DOMAIN_XML_UPDATE_CPU);
+ rv = qemuDomainDefFormatLive(driver, def, false);
} else {
- rv = qemuDomainFormatXML(driver, vm,
- VIR_DOMAIN_XML_SECURE |
- VIR_DOMAIN_XML_UPDATE_CPU);
+ rv = qemuDomainDefFormatLive(driver, vm->def, false);
}
cleanup: