bdrv_create() sets an error and returns -errno on failure. When the latter is interesting, the error is created with error_setg_errno().
bdrv_append_temp_snapshot() uses the error's message to create a new one with error_setg_errno(). This adds a strerror() that is either uninteresting or duplicate. Use error_setg() instead. Signed-off-by: Markus Armbruster <arm...@redhat.com> --- block.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/block.c b/block.c index 3a7324b..4b0845e 100644 --- a/block.c +++ b/block.c @@ -1336,9 +1336,8 @@ int bdrv_append_temp_snapshot(BlockDriverState *bs, int flags, Error **errp) ret = bdrv_create(&bdrv_qcow2, tmp_filename, opts, &local_err); qemu_opts_del(opts); if (ret < 0) { - error_setg_errno(errp, -ret, "Could not create temporary overlay " - "'%s': %s", tmp_filename, - error_get_pretty(local_err)); + error_setg(errp, "Could not create temporary overlay '%s': %s", + tmp_filename, error_get_pretty(local_err)); error_free(local_err); goto out; } -- 2.4.3