diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index b1ab9117fdd23f324ab7565e7af01ed0976caa58..3efacede8cc7cf8dcb78dac9cfc6cebc8015ecf7 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -10131,7 +10131,12 @@ cmdDetachInterface(vshControl *ctl, const vshCmd *cmd) virDomainIsActive(dom) == 1) flags |= VIR_DOMAIN_AFFECT_LIVE; - if (!(doc = virDomainGetXMLDesc(dom, 0))) + if (flags & VIR_DOMAIN_AFFECT_CONFIG) + doc = virDomainGetXMLDesc(dom, VIR_DOMAIN_XML_INACTIVE); + else + doc = virDomainGetXMLDesc(dom, 0); + + if (!doc) goto cleanup; if (!(xml = virXMLParseStringCtxt(doc, _("(domain_definition)"), &ctxt))) {