[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 05/30] block: update in-memory backing file and form
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 05/30] block: update in-memory backing file and format |
Date: |
Thu, 10 May 2012 13:49:09 +0200 |
From: Paolo Bonzini <address@hidden>
These are needed to print "info block" output correctly. QCOW2 does this
because it needs it to write the header, but QED does not, and common code
is the right place to do it.
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
block.c | 11 +++++++++--
block/stream.c | 11 -----------
2 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/block.c b/block.c
index 068e41d..dbd60e3 100644
--- a/block.c
+++ b/block.c
@@ -1459,6 +1459,7 @@ int bdrv_change_backing_file(BlockDriverState *bs,
const char *backing_file, const char *backing_fmt)
{
BlockDriver *drv = bs->drv;
+ int ret;
/* Backing file format doesn't make sense without a backing file */
if (backing_fmt && !backing_file) {
@@ -1466,10 +1467,16 @@ int bdrv_change_backing_file(BlockDriverState *bs,
}
if (drv->bdrv_change_backing_file != NULL) {
- return drv->bdrv_change_backing_file(bs, backing_file, backing_fmt);
+ ret = drv->bdrv_change_backing_file(bs, backing_file, backing_fmt);
} else {
- return -ENOTSUP;
+ ret = -ENOTSUP;
+ }
+
+ if (ret == 0) {
+ pstrcpy(bs->backing_file, sizeof(bs->backing_file), backing_file ?:
"");
+ pstrcpy(bs->backing_format, sizeof(bs->backing_format), backing_fmt ?:
"");
}
+ return ret;
}
static int bdrv_check_byte_request(BlockDriverState *bs, int64_t offset,
diff --git a/block/stream.c b/block/stream.c
index 6724af2..b7e1ad4 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -96,17 +96,6 @@ static void close_unused_images(BlockDriverState *top,
BlockDriverState *base,
bdrv_delete(unused);
}
top->backing_hd = base;
-
- pstrcpy(top->backing_file, sizeof(top->backing_file), "");
- pstrcpy(top->backing_format, sizeof(top->backing_format), "");
- if (base_id) {
- pstrcpy(top->backing_file, sizeof(top->backing_file), base_id);
- if (base->drv) {
- pstrcpy(top->backing_format, sizeof(top->backing_format),
- base->drv->format_name);
- }
- }
-
}
/*
--
1.7.6.5
- [Qemu-devel] [PULL 00/30] Block patches for 1.1, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 01/30] block: add the support to drain throttled requests, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 03/30] block: fail live snapshot if disk has no medium, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 04/30] block: push bdrv_change_backing_file error checking up from drivers, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 10/30] qtest: Add floppy test, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 06/30] block: open backing file as read-only when probing for size, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 09/30] qtest: Add function to send QMP commands, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 12/30] block: another bdrv_append fix, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 07/30] block: fix allocation size for dirty bitmap, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 02/30] block: add mode argument to blockdev-snapshot-sync, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 05/30] block: update in-memory backing file and format,
Kevin Wolf <=
- [Qemu-devel] [PATCH 14/30] block: fully delete bs->file when closing, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 17/30] block: simplify path_is_absolute, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 08/30] qemu-iotests: strip spaces from qemu-img/qemu-io/qemu command lines, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 13/30] block: do not reuse the backing file across bdrv_close/bdrv_open, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 20/30] qemu-img: make "info" backing file output correct and easier to use, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 18/30] block: protect path_has_protocol from filenames with colons, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 11/30] block: fix snapshot on QED, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 15/30] block: add block_job_sleep_ns, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 16/30] block: wait for job callback in block_job_cancel_sync, Kevin Wolf, 2012/05/10
- [Qemu-devel] [PATCH 23/30] stream: fix sectors not allocated test, Kevin Wolf, 2012/05/10