diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 458b2690d7..ff89ab5f1e 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -1613,7 +1613,8 @@ qemuMigrationPrecreateStorage(virConnectPtr conn, virDomainObjPtr vm, qemuMigrationCookieNBDPtr nbd, size_t nmigrate_disks, - const char **migrate_disks) + const char **migrate_disks, + bool incremental) { int ret = -1; size_t i = 0; @@ -1644,6 +1645,13 @@ qemuMigrationPrecreateStorage(virConnectPtr conn, continue; } + if (incremental) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("pre-creation of storage targets for incremental " + "storage migration is not supported")); + goto cleanup; + } + VIR_DEBUG("Proceeding with disk source %s", NULLSTR(diskSrcPath)); if (qemuMigrationPrecreateDisk(conn, disk, nbd->disks[i].capacity) < 0) @@ -3339,7 +3347,8 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver, } if (qemuMigrationPrecreateStorage(dconn, driver, vm, mig->nbd, - nmigrate_disks, migrate_disks) < 0) + nmigrate_disks, migrate_disks, + !!(flags & VIR_MIGRATE_NON_SHARED_INC)) < 0) goto cleanup; if (qemuMigrationJobStart(driver, vm, QEMU_ASYNC_JOB_MIGRATION_IN) < 0)