From f9d06ebcef9faffc085bab68968b8bb78f49f2d0 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Tue, 7 Jan 2014 17:58:47 +0100 Subject: [PATCH] virsh: Use inactive definition when removing disk from config https://bugzilla.redhat.com/show_bug.cgi?id=1049529 The 'detach-disk' command in virsh used the active XML definition of a domain even when attempting to remove a disk from the config only. If the disk was only in the inactive definition the operation failed. Fix this by using the inactive XML in case that only the config is affected. --- tools/virsh-domain.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 5468365c45..506baf44cc 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -10175,7 +10175,12 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "target", &target) < 0) goto cleanup; - 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 (persistent &&