int cookielen = 0, ret;
virDomainInfo info;
virErrorPtr orig_err = NULL;
+ unsigned int getxml_flags = 0;
int cancelled;
VIR_DOMAIN_DEBUG(domain,
"dconn=%p, flags=%lx, dname=%s, uri=%s, bandwidth=%lu",
virDispatchError(domain->conn);
return NULL;
}
- dom_xml = domain->conn->driver->domainGetXMLDesc(domain,
- VIR_DOMAIN_XML_SECURE |
- VIR_DOMAIN_XML_UPDATE_CPU);
+
+ if (VIR_DRV_SUPPORTS_FEATURE(domain->conn->driver, domain->conn,
+ VIR_DRV_FEATURE_XML_MIGRATABLE)) {
+ getxml_flags |= VIR_DOMAIN_XML_MIGRATABLE;
+ } else {
+ getxml_flags |= VIR_DOMAIN_XML_SECURE | VIR_DOMAIN_XML_UPDATE_CPU;
+ }
+
+ dom_xml = domain->conn->driver->domainGetXMLDesc(domain, getxml_flags);
if (!dom_xml)
return NULL;
* messages).
*/
VIR_DRV_FEATURE_PROGRAM_KEEPALIVE = 10,
+
+ /*
+ * Support for VIR_DOMAIN_XML_MIGRATABLE flag in domainGetXMLDesc
+ */
+ VIR_DRV_FEATURE_XML_MIGRATABLE = 11,
};
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
case VIR_DRV_FEATURE_FD_PASSING:
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+ case VIR_DRV_FEATURE_XML_MIGRATABLE:
return 1;
default:
return 0;