]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Save translated disk definition for disk type='volume' to status XML
authorPeter Krempa <pkrempa@redhat.com>
Thu, 12 Oct 2023 14:08:01 +0000 (16:08 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 17 Oct 2023 12:16:15 +0000 (14:16 +0200)
Re-translating the disk source pools when reconnecting to a VM makes no
sense as the volume might have changed or pool became inactive. The VM
still uses the original volume though. Failing to re-translate the pool
also causes the VM to be killed.

Fix this by storing the original translation in the status XML.

Resolves: https://issues.redhat.com/browse/RHEL-7345
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c
src/conf/virdomainobjlist.c

index 9b636215e9d3249c8fcbfafc147e07d187b8bd29..80f467ae7a214bd16c18d5d348730d62604148e8 100644 (file)
@@ -28247,7 +28247,8 @@ virDomainObjSave(virDomainObj *obj,
                           VIR_DOMAIN_DEF_FORMAT_STATUS |
                           VIR_DOMAIN_DEF_FORMAT_ACTUAL_NET |
                           VIR_DOMAIN_DEF_FORMAT_PCI_ORIG_STATES |
-                          VIR_DOMAIN_DEF_FORMAT_CLOCK_ADJUST);
+                          VIR_DOMAIN_DEF_FORMAT_CLOCK_ADJUST |
+                          VIR_DOMAIN_DEF_FORMAT_VOLUME_TRANSLATED);
 
     g_autofree char *xml = NULL;
 
index 6be5de5e2b6fa9b279514a838bc86d174b68c517..0bd833257da8de8e5ab174859b2c75bc83d85db9 100644 (file)
@@ -532,7 +532,8 @@ virDomainObjListLoadStatus(virDomainObjList *doms,
                                       VIR_DOMAIN_DEF_PARSE_ACTUAL_NET |
                                       VIR_DOMAIN_DEF_PARSE_PCI_ORIG_STATES |
                                       VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE |
-                                      VIR_DOMAIN_DEF_PARSE_ALLOW_POST_PARSE_FAIL)))
+                                      VIR_DOMAIN_DEF_PARSE_ALLOW_POST_PARSE_FAIL |
+                                      VIR_DOMAIN_DEF_PARSE_VOLUME_TRANSLATED)))
         goto error;
 
     virUUIDFormat(obj->def->uuid, uuidstr);