From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:40364) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QdxRy-000841-7O for qemu-devel@nongnu.org; Tue, 05 Jul 2011 00:41:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QdxRx-0000S5-9W for qemu-devel@nongnu.org; Tue, 05 Jul 2011 00:41:30 -0400 Received: from mail-yw0-f45.google.com ([209.85.213.45]:45169) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QdxRw-0000Rj-Sv for qemu-devel@nongnu.org; Tue, 05 Jul 2011 00:41:29 -0400 Received: by ywb3 with SMTP id 3so2645536ywb.4 for ; Mon, 04 Jul 2011 21:41:28 -0700 (PDT) From: Devin Nakamura Date: Tue, 5 Jul 2011 00:41:21 -0400 Message-Id: <1309840884-32409-2-git-send-email-devin122@gmail.com> In-Reply-To: <1309840884-32409-1-git-send-email-devin122@gmail.com> References: <1309840884-32409-1-git-send-email-devin122@gmail.com> Subject: [Qemu-devel] [PATCH 2/5] block: add bdrv_open_conversion_target List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Signed-off-by: Devin Nakamura --- block.c | 19 +++++++++++++++++++ block.h | 2 ++ 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/block.c b/block.c index 24a25d5..e7699a6 100644 --- a/block.c +++ b/block.c @@ -3018,3 +3018,22 @@ out: return ret; } + + +int bdrv_open_conversion_target(BlockDriverState **bs, + char *filename, char *target_fmt, QEMUOptionParameter *options) +{ + BlockDriver *drv; + + drv = bdrv_find_format(target_fmt); + if(!drv){ + return -ENOENT; + } + + if(!drv->bdrv_open_conversion_target){ + return -ENOTSUP; + } + *bs = bdrv_new(""); + (*bs)->opaque = qemu_malloc(drv->instance_size); + return drv->bdrv_open_conversion_target(*bs, filename, options); +} diff --git a/block.h b/block.h index 859d1d9..da87afb 100644 --- a/block.h +++ b/block.h @@ -250,6 +250,8 @@ int64_t bdrv_get_dirty_count(BlockDriverState *bs); void bdrv_set_in_use(BlockDriverState *bs, int in_use); int bdrv_in_use(BlockDriverState *bs); +int bdrv_open_conversion_target(BlockDriverState **bs, char *filename, + char *target_fmt, QEMUOptionParameter *options); typedef enum { BLKDBG_L1_UPDATE, -- 1.7.6.rc1