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