[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V4 4/7] block: add bdrv_open_conversion_target()
From: |
Devin Nakamura |
Subject: |
[Qemu-devel] [PATCH V4 4/7] block: add bdrv_open_conversion_target() |
Date: |
Tue, 23 Aug 2011 00:27:40 -0400 |
Signed-off-by: Devin Nakamura <address@hidden>
---
block.c | 26 ++++++++++++++++++++++++++
block.h | 5 +++++
2 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/block.c b/block.c
index a3ea039..5ca396b 100644
--- a/block.c
+++ b/block.c
@@ -3282,6 +3282,32 @@ out:
return ret;
}
+int bdrv_open_conversion_target(BlockDriverState **bs, BlockDriverState *file,
+ BlockConversionOptions *drv_options,
+ QEMUOptionParameter *usr_options,
+ const char *target_fmt,
+ bool force)
+{
+ BlockDriver *drv;
+ BlockDriverState *bss;
+ *bs = NULL;
+
+ drv = bdrv_find_format(target_fmt);
+ if (!drv) {
+ return -ENOENT;
+ }
+
+ if (!drv->bdrv_open_conversion_target) {
+ return -ENOTSUP;
+ }
+
+ *bs = bdrv_new("");
+ bss = *bs;
+ bss->file = file;
+ return bdrv_open_common(bss, file->filename, BDRV_O_CONVERSION, drv,
+ drv_options, usr_options, force);
+}
+
int bdrv_get_conversion_options(BlockDriverState *bs,
BlockConversionOptions *options)
{
diff --git a/block.h b/block.h
index 90720d9..77e3135 100644
--- a/block.h
+++ b/block.h
@@ -259,6 +259,11 @@ typedef struct BlockConversionOptions
BlockConversionOptions;
int bdrv_get_conversion_options(BlockDriverState *bs,
BlockConversionOptions *options);
+int bdrv_open_conversion_target(BlockDriverState **bs, BlockDriverState *file,
+ BlockConversionOptions *drv_options,
+ QEMUOptionParameter *usr_options,
+ const char *target_fmt,
+ bool force);
typedef enum {
BLKDBG_L1_UPDATE,
--
1.7.6.rc1
- [Qemu-devel] [PATCH V4 0/7] Block Conversion, Devin Nakamura, 2011/08/23
- [Qemu-devel] [PATCH V4 2/7] block: make bdrv_open_common more ready to be called by bdrv_open_conversion_target, Devin Nakamura, 2011/08/23
- [Qemu-devel] [PATCH V4 1/7] block: add block conversion api, Devin Nakamura, 2011/08/23
- [Qemu-devel] [PATCH V4 3/7] block: add bdrv_get_conversion_options(), Devin Nakamura, 2011/08/23
- [Qemu-devel] [PATCH V4 4/7] block: add bdrv_open_conversion_target(),
Devin Nakamura <=
- [Qemu-devel] [PATCH V4 6/7] block: add bdrv_map(), Devin Nakamura, 2011/08/23
- [Qemu-devel] [PATCH V4 5/7] block: add bdrv_get_mapping(), Devin Nakamura, 2011/08/23
- [Qemu-devel] [PATCH V4 7/7] block: add bdrv_copy_header(), Devin Nakamura, 2011/08/23
- Re: [Qemu-devel] [PATCH V4 0/7] Block Conversion, Devin Nakamura, 2011/08/27
- Re: [Qemu-devel] [PATCH V4 0/7] Block Conversion, Kevin Wolf, 2011/08/29