Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock X-Debbugs-Cc: libv...@packages.debian.org Control: affects -1 + src:libvirt
Please unblock package libvirt [ Reason ] Backport fix for https://bugzilla.redhat.com/2369243 The issue has not been filed against Debian, but it affects the version of libvirt in trixie nonetheless. [ Tests ] I have manually tested the fix and confirmed that it addresses the issue. [ Risks ] Very little risk of causing regressions. The fix is small and targeted, and it comes directly from upstream with no changes. [ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing unblock libvirt/11.3.0-3 -- Andrea Bolognani <e...@kiyuko.org> Resistance is futile, you will be garbage collected.
diff -Nru libvirt-11.3.0/debian/changelog libvirt-11.3.0/debian/changelog --- libvirt-11.3.0/debian/changelog 2025-06-01 16:39:44.000000000 +0200 +++ libvirt-11.3.0/debian/changelog 2025-07-02 22:15:28.000000000 +0200 @@ -1,3 +1,10 @@ +libvirt (11.3.0-3) unstable; urgency=medium + + * [d10b70f] patches: Add backports + - backport/qemu-Be-more-forgiving-when-acquiring-QUERY-job-[...] + + -- Andrea Bolognani <e...@kiyuko.org> Wed, 02 Jul 2025 22:15:28 +0200 + libvirt (11.3.0-2) unstable; urgency=medium * [eb4a97a] patches: Add backports diff -Nru libvirt-11.3.0/debian/patches/backport/qemu-Be-more-forgiving-when-acquiring-QUERY-job-when-form.patch libvirt-11.3.0/debian/patches/backport/qemu-Be-more-forgiving-when-acquiring-QUERY-job-when-form.patch --- libvirt-11.3.0/debian/patches/backport/qemu-Be-more-forgiving-when-acquiring-QUERY-job-when-form.patch 1970-01-01 01:00:00.000000000 +0100 +++ libvirt-11.3.0/debian/patches/backport/qemu-Be-more-forgiving-when-acquiring-QUERY-job-when-form.patch 2025-07-02 22:15:28.000000000 +0200 @@ -0,0 +1,70 @@ +From: Michal Privoznik <mpriv...@redhat.com> +Date: Mon, 16 Jun 2025 10:28:37 +0200 +Subject: qemu: Be more forgiving when acquiring QUERY job when formatting + domain XML + +In my previous commit of v11.0.0-rc1~115 I've made QEMU driver +implementation for virDomainGetXMLDesc() (qemuDomainGetXMLDesc()) +acquire QERY job. See its commit message for more info. But this +unfortunately broke apps witch fetch domain XML for incoming +migration (like virt-manager). The reason is that for incoming +migration the VIR_ASYNC_JOB_MIGRATION_IN async job is set, but +the mask of allowed synchronous jobs is empty (because QEMU can't +talk on monitor really). This makes virDomainObjBeginJob() fail +which in turn makes qemuDomainGetXMLDesc() fail too. + +It makes sense for qemuDomainGetXMLDesc() to acquire the job +(e.g. so that it's coherent with another thread that might be in +the middle of a MODIFY job). But failure to dump XML may be +treated as broken daemon (e.g. virt-manager does so). + +Therefore, still try to acquire the QUERY job (if job mask +permits it) but, do not treat failure as an error. + +Fixes: 6cc93bf28842526be2fd596a607ebca796b7fb2e +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2369243 +Signed-off-by: Michal Privoznik <mpriv...@redhat.com> +Reviewed-by: Pavel Hrdina <phrd...@redhat.com> +(cherry picked from commit 441c23a7e626c13e6df1946303a0bc0a84180d1c) + +Forwarded: not-needed +Origin: https://gitlab.com/libvirt/libvirt/-/commits/441c23a7e626c13e6df1946303a0bc0a84180d1c +--- + src/qemu/qemu_driver.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c +index a34d6f1..9f04374 100644 +--- a/src/qemu/qemu_driver.c ++++ b/src/qemu/qemu_driver.c +@@ -6188,6 +6188,7 @@ static char + { + virQEMUDriver *driver = dom->conn->privateData; + virDomainObj *vm; ++ bool hasJob = false; + char *ret = NULL; + + virCheckFlags(VIR_DOMAIN_XML_COMMON_FLAGS | VIR_DOMAIN_XML_UPDATE_CPU, +@@ -6199,8 +6200,10 @@ static char + if (virDomainGetXMLDescEnsureACL(dom->conn, vm->def, flags) < 0) + goto cleanup; + +- if (virDomainObjBeginJob(vm, VIR_JOB_QUERY) < 0) +- goto cleanup; ++ if (virDomainNestedJobAllowed(vm->job, VIR_JOB_QUERY) && ++ virDomainObjBeginJob(vm, VIR_JOB_QUERY) >= 0) { ++ hasJob = true; ++ } + + qemuDomainUpdateCurrentMemorySize(vm); + +@@ -6216,7 +6219,8 @@ static char + + ret = qemuDomainFormatXML(driver, vm, flags); + +- virDomainObjEndJob(vm); ++ if (hasJob) ++ virDomainObjEndJob(vm); + + cleanup: + virDomainObjEndAPI(&vm); diff -Nru libvirt-11.3.0/debian/patches/series libvirt-11.3.0/debian/patches/series --- libvirt-11.3.0/debian/patches/series 2025-06-01 16:39:44.000000000 +0200 +++ libvirt-11.3.0/debian/patches/series 2025-07-02 22:15:28.000000000 +0200 @@ -1,4 +1,5 @@ backport/qemuProcessStartWithMemoryState-Don-t-setup-qemu-for-inco.patch +backport/qemu-Be-more-forgiving-when-acquiring-QUERY-job-when-form.patch debian/Debianize-libvirt-guests.patch debian/apparmor_profiles_local_include.patch debian/Use-sensible-editor-by-default.patch
signature.asc
Description: PGP signature