diff options
author | Max Reitz <mreitz@redhat.com> | 2016-05-17 16:41:29 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2016-05-25 19:04:10 +0200 |
commit | 28eb9b12f7280287c7b693edd351f28ae0d99e60 (patch) | |
tree | fb5ab69b33871d2c72ddb7575fee6eacc2bdd872 /block/block-backend.c | |
parent | 21a699afc8f6dc72e70d03efdcc2eab3f4608d65 (diff) |
block: Drop blk_new_with_bs()
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 <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/block-backend.c')
-rw-r--r-- | block/block-backend.c | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/block/block-backend.c b/block/block-backend.c index 9f306f897c..b96323f658 100644 --- a/block/block-backend.c +++ b/block/block-backend.c @@ -136,27 +136,7 @@ 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. + * Creates a new BlockBackend, opens a new BlockDriverState, and connects both. * * Just as with bdrv_open(), after having called this function the reference to * @options belongs to the block layer (even on failure). @@ -171,21 +151,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; } |