diff options
author | Peter Xu <peterx@redhat.com> | 2023-04-25 21:15:14 -0400 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2023-04-27 10:18:25 +0200 |
commit | 74c38cf7fd24c60e4f0a90585d17250478260877 (patch) | |
tree | 9a639322ddd6fb2aa4fa3838fff16b9d3069906d /migration/options.c | |
parent | 09d6c9658474e8573c5ada58dca8b20fe47dd99e (diff) |
migration: Allow postcopy_ram_supported_by_host() to report err
Instead of print it to STDERR, bring the error upwards so that it can be
reported via QMP responses.
E.g.:
{ "execute": "migrate-set-capabilities" ,
"arguments": { "capabilities":
[ { "capability": "postcopy-ram", "state": true } ] } }
{ "error":
{ "class": "GenericError",
"desc": "Postcopy is not supported: Host backend files need to be TMPFS
or HUGETLBFS only" } }
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration/options.c')
-rw-r--r-- | migration/options.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/migration/options.c b/migration/options.c index fe7d7754c4..c6030587cf 100644 --- a/migration/options.c +++ b/migration/options.c @@ -302,6 +302,7 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp) { MigrationIncomingState *mis = migration_incoming_get_current(); + ERRP_GUARD(); #ifndef CONFIG_LIVE_BLOCK_MIGRATION if (new_caps[MIGRATION_CAPABILITY_BLOCK]) { error_setg(errp, "QEMU compiled without old-style (blk/-b, inc/-i) " @@ -327,11 +328,8 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp) */ if (!old_caps[MIGRATION_CAPABILITY_POSTCOPY_RAM] && runstate_check(RUN_STATE_INMIGRATE) && - !postcopy_ram_supported_by_host(mis)) { - /* postcopy_ram_supported_by_host will have emitted a more - * detailed message - */ - error_setg(errp, "Postcopy is not supported"); + !postcopy_ram_supported_by_host(mis, errp)) { + error_prepend(errp, "Postcopy is not supported: "); return false; } |