54 lines
1.9 KiB
Diff
54 lines
1.9 KiB
Diff
From a7f7d8f7513af2b98d01259480f63167cf44cced Mon Sep 17 00:00:00 2001
|
|
From: Michal Privoznik <mprivozn@redhat.com>
|
|
Date: Tue, 26 May 2020 16:26:25 +0200
|
|
Subject: [PATCH] qemu: Skip pre-creation of NVMe disks
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Upon migration with disks, libvirt determines if each disk exists
|
|
on the destination and tries to pre-create missing ones. Well,
|
|
NVMe disks can't be pre-created, but they can be checked for
|
|
presence.
|
|
|
|
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1823639
|
|
|
|
cherry-pick from commit: a5a297f387fee9e9aa4cbc2df6788c330fd33ad1
|
|
|
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
|
Signed-off-by: Jin Yan <jinyan12@huawei.com>
|
|
---
|
|
src/qemu/qemu_migration.c | 8 +++++++-
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
|
|
index 65b47ec..3f4627b 100644
|
|
--- a/src/qemu/qemu_migration.c
|
|
+++ b/src/qemu/qemu_migration.c
|
|
@@ -315,6 +315,7 @@ qemuMigrationDstPrecreateStorage(virDomainObjPtr vm,
|
|
for (i = 0; i < nbd->ndisks; i++) {
|
|
virDomainDiskDefPtr disk;
|
|
const char *diskSrcPath;
|
|
+ g_autofree char *nvmePath = NULL;
|
|
|
|
VIR_DEBUG("Looking up disk target '%s' (capacity=%llu)",
|
|
nbd->disks[i].target, nbd->disks[i].capacity);
|
|
@@ -326,7 +327,12 @@ qemuMigrationDstPrecreateStorage(virDomainObjPtr vm,
|
|
goto cleanup;
|
|
}
|
|
|
|
- diskSrcPath = virDomainDiskGetSource(disk);
|
|
+ if (disk->src->type == VIR_STORAGE_TYPE_NVME) {
|
|
+ virPCIDeviceAddressGetSysfsFile(&disk->src->nvme->pciAddr, &nvmePath);
|
|
+ diskSrcPath = nvmePath;
|
|
+ } else {
|
|
+ diskSrcPath = virDomainDiskGetSource(disk);
|
|
+ }
|
|
|
|
/* Skip disks we don't want to migrate and already existing disks. */
|
|
if (!qemuMigrationAnyCopyDisk(disk, nmigrate_disks, migrate_disks) ||
|
|
--
|
|
1.8.3.1
|
|
|