diff options
author | Markus Armbruster <armbru@redhat.com> | 2024-05-13 16:16:58 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2024-05-27 12:42:01 +0200 |
commit | 540d91b40c390faa565e613a85bc0950ca7e0775 (patch) | |
tree | 75dea560b2beaf1098d286fcd405cfff42146a4c /blockdev.c | |
parent | 60b54b67c63d8f076152e0f7dccf39854dfc6a77 (diff) |
block: Improve error message when external snapshot can't flush
external_snapshot_action() reports bdrv_flush() failure to its caller
as
An IO error has occurred
The errno code returned by bdrv_flush() is lost.
Improve this to
Write to node '<device or node name>' failed: <description of errno>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240513141703.549874-2-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'blockdev.c')
-rw-r--r-- | blockdev.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/blockdev.c b/blockdev.c index 08eccc9052..528db3452f 100644 --- a/blockdev.c +++ b/blockdev.c @@ -1406,8 +1406,10 @@ static void external_snapshot_action(TransactionAction *action, } if (!bdrv_is_read_only(state->old_bs)) { - if (bdrv_flush(state->old_bs)) { - error_setg(errp, QERR_IO_ERROR); + ret = bdrv_flush(state->old_bs); + if (ret < 0) { + error_setg_errno(errp, -ret, "Write to node '%s' failed", + bdrv_get_device_or_node_name(state->old_bs)); return; } } |