On Wed, Apr 17, 2024 at 14:36:08 +0200, Jiri Denemark wrote: > Ages ago origCPU in domain private data was introduced to provide > backward compatibility when migrating to an old libvirt, which did not > support fetching updated CPU definition from QEMU. Thus origCPU will > contain the original CPU definition before such update. But only if the > update actually changed anything. Let's always fill origCPU with the > original definition when starting a domain so that we can rely on it > being always set, even if it matches the updated definition. > > This fixes migration or save operations with custom domain XML after > commit v10.1.0-88-g14d3517410, which expected origCPU to be always set > to the CPU definition from inactive XML to check features explicitly > requested by a user. > > https://issues.redhat.com/browse/RHEL-30622 > > Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> > Tested-by: Han Han <hhan@xxxxxxxxxx> > --- [...] > @@ -9147,6 +9137,11 @@ qemuProcessReconnect(void *opaque) > > qemuDomainVcpuPersistOrder(obj->def); > > + /* Make sure priv->origCPU is always set. */ Comment is misleading because there are situations when it still will be NULL. > + if (!priv->origCPU && > + qemuDomainUpdateCPU(obj, NULL, &priv->origCPU) < 0) > + goto error; > + > if (qemuProcessRefreshCPU(driver, obj) < 0) > goto error; With the comment fixed: Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx> _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx