[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 16/33] migration: push Error **errp into loadvm_handle_recv_bitma
From: |
Daniel P . Berrangé |
Subject: |
[PATCH 16/33] migration: push Error **errp into loadvm_handle_recv_bitmap() |
Date: |
Thu, 4 Feb 2021 17:18:50 +0000 |
This is an incremental step in converting vmstate loading code to report
via Error objects instead of printing directly to the console/monitor.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
migration/savevm.c | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/migration/savevm.c b/migration/savevm.c
index 041175162a..b41c812188 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -2173,7 +2173,8 @@ static int
loadvm_handle_cmd_packaged(MigrationIncomingState *mis, Error **errp)
* len (1 byte) + ramblock_name (<255 bytes)
*/
static int loadvm_handle_recv_bitmap(MigrationIncomingState *mis,
- uint16_t len)
+ uint16_t len,
+ Error **errp)
{
QEMUFile *file = mis->from_src_file;
RAMBlock *rb;
@@ -2182,24 +2183,26 @@ static int
loadvm_handle_recv_bitmap(MigrationIncomingState *mis,
cnt = qemu_get_counted_string(file, block_name);
if (!cnt) {
- error_report("%s: failed to read block name", __func__);
- return -EINVAL;
+ error_setg(errp, "%s: failed to read block name", __func__);
+ return -1;
}
/* Validate before using the data */
if (qemu_file_get_error(file)) {
- return qemu_file_get_error(file);
+ error_setg(errp, "migration stream has error: %d",
+ qemu_file_get_error(file));
+ return -1;
}
if (len != cnt + 1) {
- error_report("%s: invalid payload length (%d)", __func__, len);
- return -EINVAL;
+ error_setg(errp, "%s: invalid payload length (%d)", __func__, len);
+ return -1;
}
rb = qemu_ram_block_by_name(block_name);
if (!rb) {
- error_report("%s: block '%s' not found", __func__, block_name);
- return -EINVAL;
+ error_setg(errp, "%s: block '%s' not found", __func__, block_name);
+ return -1;
}
migrate_send_rp_recv_bitmap(mis, block_name);
@@ -2304,12 +2307,7 @@ static int loadvm_process_command(QEMUFile *f, Error
**errp)
return 0;
case MIG_CMD_RECV_BITMAP:
- ret = loadvm_handle_recv_bitmap(mis, len);
- if (ret < 0) {
- error_setg(errp, "Failed to load device state command: %d", ret);
- return -1;
- }
- return ret;
+ return loadvm_handle_recv_bitmap(mis, len, errp);
case MIG_CMD_ENABLE_COLO:
ret = loadvm_process_enable_colo(mis);
--
2.29.2
- [PATCH 10/33] migration: push Error **errp into loadvm_postcopy_handle_advise(), (continued)
- [PATCH 10/33] migration: push Error **errp into loadvm_postcopy_handle_advise(), Daniel P . Berrangé, 2021/02/04
- [PATCH 11/33] migration: push Error **errp into ram_postcopy_incoming_init(), Daniel P . Berrangé, 2021/02/04
- [PATCH 13/33] migration: push Error **errp into loadvm_postcopy_handle_run(), Daniel P . Berrangé, 2021/02/04
- [PATCH 12/33] migration: push Error **errp into loadvm_postcopy_handle_listen(), Daniel P . Berrangé, 2021/02/04
- [PATCH 15/33] migration: make loadvm_postcopy_handle_resume() void, Daniel P . Berrangé, 2021/02/04
- [PATCH 14/33] migration: push Error **errp into loadvm_postcopy_ram_handle_discard(), Daniel P . Berrangé, 2021/02/04
- [PATCH 16/33] migration: push Error **errp into loadvm_handle_recv_bitmap(),
Daniel P . Berrangé <=
- [PATCH 17/33] migration: push Error **errp into loadvm_process_enable_colo(), Daniel P . Berrangé, 2021/02/04
- [PATCH 18/33] migration: push Error **errp into colo_init_ram_cache(), Daniel P . Berrangé, 2021/02/04
- [PATCH 23/33] migration: simplify some error reporting in save_snapshot(), Daniel P . Berrangé, 2021/02/04
- [PATCH 19/33] migration: push Error **errp into check_section_footer(), Daniel P . Berrangé, 2021/02/04
- [PATCH 21/33] migration: remove error reporting from qemu_fopen_bdrv() callers, Daniel P . Berrangé, 2021/02/04
- [PATCH 20/33] migration: push Error **errp into global_state_store(), Daniel P . Berrangé, 2021/02/04
- [PATCH 25/33] migration: push Error **errp into qemu_savevm_state_complete_precopy(), Daniel P . Berrangé, 2021/02/04
- [PATCH 22/33] migration: push Error **errp into qemu_savevm_state_iterate(), Daniel P . Berrangé, 2021/02/04
- [PATCH 28/33] migration: push Error **errp into qemu_savevm_send_packaged(), Daniel P . Berrangé, 2021/02/04