[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/5] block: add bdrv_open_conversion_target
From: |
Devin Nakamura |
Subject: |
[Qemu-devel] [PATCH 2/5] block: add bdrv_open_conversion_target |
Date: |
Tue, 5 Jul 2011 00:41:21 -0400 |
Signed-off-by: Devin Nakamura <address@hidden>
---
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