summaryrefslogtreecommitdiffstats
path: root/include/block/block.h
diff options
context:
space:
mode:
authorKevin Wolf2017-03-06 16:20:51 +0100
committerKevin Wolf2017-03-07 14:53:28 +0100
commit5fe31c25cce3b09e989e40439667cd4961aba969 (patch)
tree0b9809f4e3af0d80e817a65d0723f305dfe187ae /include/block/block.h
parentblock: Handle permission errors in change_parent_backing_link() (diff)
downloadqemu-5fe31c25cce3b09e989e40439667cd4961aba969.tar.gz
qemu-5fe31c25cce3b09e989e40439667cd4961aba969.tar.xz
qemu-5fe31c25cce3b09e989e40439667cd4961aba969.zip
block: Fix error handling in bdrv_replace_in_backing_chain()
When adding an Error parameter, bdrv_replace_in_backing_chain() would become nothing more than a wrapper around change_parent_backing_link(). So make the latter public, renamed as bdrv_replace_node(), and remove bdrv_replace_in_backing_chain(). Most of the callers just remove a node from the graph that they just inserted, so they can use &error_abort, but completion of a mirror job with 'replaces' set can actually fail. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'include/block/block.h')
-rw-r--r--include/block/block.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/block/block.h b/include/block/block.h
index c7c4a3ac3a..5149260827 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -238,8 +238,8 @@ int bdrv_create_file(const char *filename, QemuOpts *opts, Error **errp);
BlockDriverState *bdrv_new(void);
void bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top,
Error **errp);
-void bdrv_replace_in_backing_chain(BlockDriverState *old,
- BlockDriverState *new);
+void bdrv_replace_node(BlockDriverState *from, BlockDriverState *to,
+ Error **errp);
int bdrv_parse_cache_mode(const char *mode, int *flags, bool *writethrough);
int bdrv_parse_discard_flags(const char *mode, int *flags);