Ensure that hints are added even if errp is &error_fatal or &error_abort.
Signed-off-by: Greg Kurz <gr...@kaod.org> --- migration/migration.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 01863a95f5fe..6724173ce34e 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -983,18 +983,24 @@ static bool migrate_caps_check(bool *cap_list, #ifndef CONFIG_LIVE_BLOCK_MIGRATION if (cap_list[MIGRATION_CAPABILITY_BLOCK]) { - error_setg(errp, "QEMU compiled without old-style (blk/-b, inc/-i) " + Error *local_err = NULL; + + error_setg(&local_err, "QEMU compiled without old-style (blk/-b, inc/-i) " "block migration"); - error_append_hint(errp, "Use drive_mirror+NBD instead.\n"); + error_append_hint(&local_err, "Use drive_mirror+NBD instead.\n"); + error_propagate(errp, local_err); return false; } #endif #ifndef CONFIG_REPLICATION if (cap_list[MIGRATION_CAPABILITY_X_COLO]) { - error_setg(errp, "QEMU compiled without replication module" + Error *local_err = NULL; + + error_setg(&local_err, "QEMU compiled without replication module" " can't enable COLO"); - error_append_hint(errp, "Please enable replication before COLO.\n"); + error_append_hint(&local_err, "Please enable replication before COLO.\n"); + error_propagate(errp, local_err); return false; } #endif