qemuMigrationSrcBeginPhase: Require storage migration when 'migrate_disks' parameter is specified

If a user passes a list of disks to migrate but don't actually use
'VIR_MIGRATE_NON_SHARED_DISK' or 'VIR_MIGRATE_NON_SHARED_INC' flags the
parameter would be simply ignored without informing the user of the
error.

Add a proper error in such case.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2023-08-09 14:18:58 +02:00
parent deac6f017e
commit ba8ae0532b

View File

@ -2644,6 +2644,12 @@ qemuMigrationSrcBeginPhase(virQEMUDriver *driver,
migrate_disks,
nmigrate_disks))
cookieFlags |= QEMU_MIGRATION_COOKIE_NBD;
} else {
if (nmigrate_disks > 0) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
_("use of 'VIR_MIGRATE_PARAM_MIGRATE_DISKS' requires use of 'VIR_MIGRATE_NON_SHARED_DISK' or 'VIR_MIGRATE_NON_SHARED_INC' flag"));
return NULL;
}
}
if (virDomainDefHasMemoryHotplug(vm->def) ||