}
+static void
+qemuDomainFormatJobPrivateSnapshot(virBuffer *buf,
+ qemuDomainJobPrivate *priv)
+{
+ if (priv->snapshotDelete)
+ virBufferAddLit(buf, "<snapshotDelete/>\n");
+}
+
+
static int
qemuDomainFormatJobPrivate(virBuffer *buf,
virDomainJobObj *job,
if (priv->migParams)
qemuMigrationParamsFormat(buf, priv->migParams);
+ if (job->asyncJob == VIR_ASYNC_JOB_SNAPSHOT)
+ qemuDomainFormatJobPrivateSnapshot(buf, priv);
+
return 0;
}
}
+static void
+qemuDomainParseJobPrivateSnapshot(xmlXPathContextPtr ctxt,
+ qemuDomainJobPrivate *priv)
+{
+ if (virXPathNode("./snapshotDelete", ctxt))
+ priv->snapshotDelete = true;
+}
+
+
static int
qemuDomainParseJobPrivate(xmlXPathContextPtr ctxt,
virDomainJobObj *job,
if (qemuMigrationParamsParse(ctxt, &priv->migParams) < 0)
return -1;
+ qemuDomainParseJobPrivateSnapshot(ctxt, priv);
+
return 0;
}
* should wait for it to finish */
bool spiceMigrated; /* spice migration completed */
bool dumpCompleted; /* dump completed */
+ bool snapshotDelete; /* indicate that snapshot job is
+ * deleting snapshot */
qemuMigrationParams *migParams;
GSList *migTempBitmaps; /* temporary block dirty bitmaps - qemuDomainJobPrivateMigrateTempBitmap */
};