From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49257) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b5cnH-0005bi-Cc for qemu-devel@nongnu.org; Wed, 25 May 2016 13:40:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b5cnB-0004Oo-MR for qemu-devel@nongnu.org; Wed, 25 May 2016 13:40:30 -0400 From: Kevin Wolf Date: Wed, 25 May 2016 19:39:30 +0200 Message-Id: <1464197996-4581-6-git-send-email-kwolf@redhat.com> In-Reply-To: <1464197996-4581-1-git-send-email-kwolf@redhat.com> References: <1464197996-4581-1-git-send-email-kwolf@redhat.com> Subject: [Qemu-devel] [PULL 05/31] block: Drop blk_new_with_bs() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-block@nongnu.org Cc: kwolf@redhat.com, qemu-devel@nongnu.org From: Max Reitz 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 Signed-off-by: Kevin Wolf --- block/block-backend.c | 30 +++++++----------------------- include/sysemu/block-backend.h | 1 - 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/block/block-backend.c b/block/block-backend.c index 9f306f8..b96323f 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; } diff --git a/include/sysemu/block-backend.h b/include/sysemu/block-backend.h index 68d92b5..d0db3c3 100644 --- a/include/sysemu/block-backend.h +++ b/include/sysemu/block-backend.h @@ -79,7 +79,6 @@ typedef struct BlockBackendPublic { } BlockBackendPublic; BlockBackend *blk_new(Error **errp); -BlockBackend *blk_new_with_bs(Error **errp); BlockBackend *blk_new_open(const char *filename, const char *reference, QDict *options, int flags, Error **errp); int blk_get_refcnt(BlockBackend *blk); -- 1.8.3.1