virDomainSnapshotDefFormat(const char *domain_uuid,
virDomainSnapshotDefPtr def,
virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
unsigned int flags,
int internal)
{
char *virDomainSnapshotDefFormat(const char *domain_uuid,
virDomainSnapshotDefPtr def,
virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt,
unsigned int flags,
int internal);
int virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr snapshot,
virUUIDFormat(snapshot->domain->uuid, uuid_string);
- xml = virDomainSnapshotDefFormat(uuid_string, &def, priv->caps,
+ xml = virDomainSnapshotDefFormat(uuid_string, &def, priv->caps, priv->xmlopt,
virDomainDefFormatConvertXMLFlags(flags),
0);
qemuDomainSnapshotWriteMetadata(virDomainObjPtr vm,
virDomainSnapshotObjPtr snapshot,
virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt,
char *snapshotDir)
{
char *newxml = NULL;
virUUIDFormat(vm->def->uuid, uuidstr);
newxml = virDomainSnapshotDefFormat(
- uuidstr, snapshot->def, caps,
+ uuidstr, snapshot->def, caps, xmlopt,
virDomainDefFormatConvertXMLFlags(QEMU_DOMAIN_FORMAT_LIVE_FLAGS),
1);
if (newxml == NULL)
} else {
parentsnap->def->current = true;
if (qemuDomainSnapshotWriteMetadata(vm, parentsnap, driver->caps,
+ driver->xmlopt,
cfg->snapshotDir) < 0) {
VIR_WARN("failed to set parent snapshot '%s' as current",
snap->def->parent);
int qemuDomainSnapshotWriteMetadata(virDomainObjPtr vm,
virDomainSnapshotObjPtr snapshot,
virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt,
char *snapshotDir);
int qemuDomainSnapshotForEachQcow2(virQEMUDriverPtr driver,
if (update_current) {
vm->current_snapshot->def->current = false;
if (qemuDomainSnapshotWriteMetadata(vm, vm->current_snapshot,
- driver->caps,
+ driver->caps, driver->xmlopt,
cfg->snapshotDir) < 0)
goto endjob;
vm->current_snapshot = NULL;
endjob:
if (snapshot && !(flags & VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA)) {
if (qemuDomainSnapshotWriteMetadata(vm, snap, driver->caps,
+ driver->xmlopt,
cfg->snapshotDir) < 0) {
/* if writing of metadata fails, error out rather than trying
* to silently carry on without completing the snapshot */
virUUIDFormat(snapshot->domain->uuid, uuidstr);
- xml = virDomainSnapshotDefFormat(uuidstr, snap->def, driver->caps,
+ xml = virDomainSnapshotDefFormat(uuidstr, snap->def,
+ driver->caps, driver->xmlopt,
virDomainDefFormatConvertXMLFlags(flags),
0);
if (vm->current_snapshot) {
vm->current_snapshot->def->current = false;
if (qemuDomainSnapshotWriteMetadata(vm, vm->current_snapshot,
- driver->caps, cfg->snapshotDir) < 0)
+ driver->caps, driver->xmlopt,
+ cfg->snapshotDir) < 0)
goto endjob;
vm->current_snapshot = NULL;
/* XXX Should we restore vm->current_snapshot after this point
cleanup:
if (ret == 0) {
if (qemuDomainSnapshotWriteMetadata(vm, snap, driver->caps,
+ driver->xmlopt,
cfg->snapshotDir) < 0)
ret = -1;
else
virDomainSnapshotObjPtr parent;
virDomainObjPtr vm;
virCapsPtr caps;
+ virDomainXMLOptionPtr xmlopt;
int err;
virDomainSnapshotObjPtr last;
};
if (!snap->sibling)
rep->last = snap;
- rep->err = qemuDomainSnapshotWriteMetadata(rep->vm, snap, rep->caps,
+ rep->err = qemuDomainSnapshotWriteMetadata(rep->vm, snap,
+ rep->caps, rep->xmlopt,
rep->cfg->snapshotDir);
return 0;
}
if (flags & VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY) {
snap->def->current = true;
if (qemuDomainSnapshotWriteMetadata(vm, snap, driver->caps,
+ driver->xmlopt,
cfg->snapshotDir) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("failed to set snapshot '%s' as current"),
rep.err = 0;
rep.last = NULL;
rep.caps = driver->caps;
+ rep.xmlopt = driver->xmlopt;
virDomainSnapshotForEachChild(snap,
qemuDomainSnapshotReparentChildren,
&rep);
virUUIDFormat(snapshot->domain->uuid, uuidstr);
xml = virDomainSnapshotDefFormat(uuidstr, snap->def, privconn->caps,
+ privconn->xmlopt,
virDomainDefFormatConvertXMLFlags(flags),
0);
VIR_FREE(currentSnapshotXmlFilePath);
if (virAsprintf(¤tSnapshotXmlFilePath, "%s%s.xml", machineLocationPath, snapshotMachineDesc->currentSnapshot) < 0)
goto cleanup;
- char *snapshotContent = virDomainSnapshotDefFormat(NULL, def, data->caps, VIR_DOMAIN_DEF_FORMAT_SECURE, 0);
+ char *snapshotContent = virDomainSnapshotDefFormat(NULL, def, data->caps, data->xmlopt, VIR_DOMAIN_DEF_FORMAT_SECURE, 0);
if (snapshotContent == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Unable to get snapshot content"));
virUUIDFormat(dom->uuid, uuidstr);
memcpy(def->dom->uuid, dom->uuid, VIR_UUID_BUFLEN);
- ret = virDomainSnapshotDefFormat(uuidstr, def, data->caps,
+ ret = virDomainSnapshotDefFormat(uuidstr, def, data->caps, data->xmlopt,
virDomainDefFormatConvertXMLFlags(flags),
0);
virUUIDFormat(snapshot->domain->uuid, uuidstr);
xml = virDomainSnapshotDefFormat(uuidstr, snap->def, privconn->driver->caps,
+ privconn->driver->xmlopt,
virDomainDefFormatConvertXMLFlags(flags),
0);
goto cleanup;
if (!(actual = virDomainSnapshotDefFormat(uuid, def, driver.caps,
+ driver.xmlopt,
VIR_DOMAIN_DEF_FORMAT_SECURE,
internal)))
goto cleanup;