Message ID | 20240513141703.549874-2-armbru@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | error: Eliminate QERR_IO_ERROR | expand |
On 13/5/24 16:16, Markus Armbruster wrote: > 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> > --- > blockdev.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
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; } }
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> --- blockdev.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)