render / rpms / libvirt

Forked from rpms/libvirt 10 months ago
Clone
032100
From d51e6092ed7977daf662ed1def0f6cd5cc6ba33d Mon Sep 17 00:00:00 2001
032100
Message-Id: <d51e6092ed7977daf662ed1def0f6cd5cc6ba33d@dist-git>
032100
From: Laine Stump <laine@redhat.com>
032100
Date: Wed, 27 Jul 2022 12:14:10 -0400
032100
Subject: [PATCH] qemu: don't call qemuMigrationSrcIsAllowedHostdev() from
032100
 qemuMigrationDstPrepareFresh()
032100
032100
This call to qemuMigrationSrcIsAllowedHostdev() (which does a
032100
hardcoded fail of the migration if there is any PCI or mdev hostdev
032100
device in the domain) while doing the destination side of migration
032100
prep was found once the call to that same function was removed from
032100
the source side migration prep (commit 25883cd5).
032100
032100
According to jdenemar, for the V2 migration protocol, prep of the
032100
destination is the first step, so this *was* the proper place to do
032100
the check, but for V3 migration this is in a way redundant (since we
032100
will have already done the check on the source side (updated by
032100
25883cd5 to query QEMU rather than do a hardcoded fail)).
032100
032100
Of course it's possible that the source could support migration of a
032100
particular VFIO device, but the destination doesn't. But the current
032100
check on the destination side is worthless even in that case, since it
032100
is just *always* failing rather than querying QEMU; and QEMU can't be
032100
queried at the point where the destination check is happening, since
032100
it isn't yet running.
032100
032100
Anyway QEMU should complain when it's started if it's going to fail,
032100
so removing this check should just move the failure to happen a bit
032100
later. So the best solution to this problem is to simply remove the
032100
hardcoded check/fail from qemuMigrationDstPrepareFresh() and rely on
032100
QEMU to fail if it needs to.
032100
032100
Fixes: 25883cd5f0b188f2417f294b7d219a77b219f7c2
032100
Signed-off-by: Laine Stump <laine@redhat.com>
032100
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
032100
(cherry picked from commit 640d185f01858b7a8db401235c929ac4798592d0)
032100
032100
https://bugzilla.redhat.com/show_bug.cgi?id=1497907
032100
032100
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
032100
---
032100
 src/qemu/qemu_migration.c | 3 ---
032100
 1 file changed, 3 deletions(-)
032100
032100
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
032100
index 61fcaf4258..e3ba4c3f78 100644
032100
--- a/src/qemu/qemu_migration.c
032100
+++ b/src/qemu/qemu_migration.c
032100
@@ -3382,9 +3382,6 @@ qemuMigrationDstPrepareFresh(virQEMUDriver *driver,
032100
                       QEMU_MIGRATION_COOKIE_CAPS;
032100
     }
032100
 
032100
-    if (!qemuMigrationSrcIsAllowedHostdev(*def))
032100
-        goto cleanup;
032100
-
032100
     /* Let migration hook filter domain XML */
032100
     if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) {
032100
         g_autofree char *xml = NULL;
032100
-- 
032100
2.35.1
032100