The chDomainGetXMLDesc() function claims to support
VIR_DOMAIN_XML_INACTIVE to obtain the persistent definition of a
running domain (in its call to virCheckFlags()) but in fact, it's
always passing vm->def to virDomainDefFormat().
So far, there's no harm done because CH driver never sets domain
def as transient. But that'll change.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
{
virCHDriver *driver = dom->conn->privateData;
virDomainObj *vm;
+ virDomainDef *def;
char *ret = NULL;
virCheckFlags(VIR_DOMAIN_XML_COMMON_FLAGS, NULL);
if (virDomainGetXMLDescEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- ret = virDomainDefFormat(vm->def, driver->xmlopt,
+ if ((flags & VIR_DOMAIN_XML_INACTIVE) && vm->newDef) {
+ def = vm->newDef;
+ } else {
+ def = vm->def;
+ }
+
+ ret = virDomainDefFormat(def, driver->xmlopt,
virDomainDefFormatConvertXMLFlags(flags));
cleanup: