qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v4 2/4] block: support passing 'backing': '' to 'blo


From: Alberto Garcia
Subject: [Qemu-devel] [PATCH v4 2/4] block: support passing 'backing': '' to 'blockdev-add'
Date: Mon, 14 Sep 2015 19:01:38 +0300

Passing an empty string allows opening an image but not its backing
file. This was already described in the API documentation, only the
implementation was missing.

This is useful for creating snapshots using images opened with
blockdev-add, since they are not supposed to have a backing image
before the operation.

Signed-off-by: Alberto Garcia <address@hidden>
---
 block.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/block.c b/block.c
index 22d3b0e..ad1792d 100644
--- a/block.c
+++ b/block.c
@@ -1402,6 +1402,7 @@ static int bdrv_open_inherit(BlockDriverState **pbs, 
const char *filename,
     BlockDriverState *file = NULL, *bs;
     BlockDriver *drv = NULL;
     const char *drvname;
+    const char *backing;
     Error *local_err = NULL;
     int snapshot_flags = 0;
 
@@ -1469,6 +1470,12 @@ static int bdrv_open_inherit(BlockDriverState **pbs, 
const char *filename,
 
     assert(drvname || !(flags & BDRV_O_PROTOCOL));
 
+    backing = qdict_get_try_str(options, "backing");
+    if (backing && *backing == '\0') {
+        flags |= BDRV_O_NO_BACKING;
+    }
+    qdict_del(options, "backing");
+
     bs->open_flags = flags;
     bs->options = options;
     options = qdict_clone_shallow(options);
-- 
2.5.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]