Its only caller is blk_new_open(), so we can just inline it there. The bdrv_new_root() call is dropped in the process because we can just let bdrv_open() create the BDS.
Signed-off-by: Max Reitz <mre...@redhat.com> Reviewed-by: Kevin Wolf <kw...@redhat.com> --- block/block-backend.c | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/block/block-backend.c b/block/block-backend.c index 66b8bad..4e8e8ab 100644 --- a/block/block-backend.c +++ b/block/block-backend.c @@ -175,26 +175,6 @@ BlockBackend *blk_new(Error **errp) } /* - * Create a new BlockBackend with a new BlockDriverState attached. - * Otherwise just like blk_new(), which see. - */ -BlockBackend *blk_new_with_bs(Error **errp) -{ - BlockBackend *blk; - BlockDriverState *bs; - - blk = blk_new(errp); - if (!blk) { - return NULL; - } - - bs = bdrv_new_root(); - blk->root = bdrv_root_attach_child(bs, "root", &child_root); - blk->root->opaque = blk; - return blk; -} - -/* * Calls blk_new_with_bs() and then calls bdrv_open() on the BlockDriverState. * * Just as with bdrv_open(), after having called this function the reference to @@ -210,21 +190,25 @@ BlockBackend *blk_new_open(const char *filename, const char *reference, QDict *options, int flags, Error **errp) { BlockBackend *blk; + BlockDriverState *bs; int ret; - blk = blk_new_with_bs(errp); + blk = blk_new(errp); if (!blk) { QDECREF(options); return NULL; } - ret = bdrv_open(&blk->root->bs, filename, reference, options, flags, errp); + bs = NULL; + ret = bdrv_open(&bs, filename, reference, options, flags, errp); if (ret < 0) { blk_unref(blk); return NULL; } blk_set_enable_write_cache(blk, true); + blk->root = bdrv_root_attach_child(bs, "root", &child_root); + blk->root->opaque = blk; return blk; } -- 2.8.0