[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1.1 09/22] block: move field reset from bdrv_open_co
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 1.1 09/22] block: move field reset from bdrv_open_common to bdrv_close |
Date: |
Tue, 8 May 2012 16:51:49 +0200 |
bdrv_close should leave fields in the same state as bdrv_new. It is
not up to bdrv_open_common to fix the mess.
Also, backing_format was not being re-initialized.
Signed-off-by: Paolo Bonzini <address@hidden>
---
block.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/block.c b/block.c
index 8eeb519..2986998 100644
--- a/block.c
+++ b/block.c
@@ -610,16 +610,11 @@ static int bdrv_open_common(BlockDriverState *bs, const
char *filename,
int ret, open_flags;
assert(drv != NULL);
+ assert(bs->file == NULL);
trace_bdrv_open_common(bs, filename, flags, drv->format_name);
- bs->file = NULL;
- bs->total_sectors = 0;
- bs->encrypted = 0;
- bs->valid_key = 0;
- bs->sg = 0;
bs->open_flags = flags;
- bs->growable = 0;
bs->buffer_alignment = 512;
assert(bs->copy_on_read == 0); /* bdrv_new() and bdrv_close() make it so */
@@ -628,7 +623,6 @@ static int bdrv_open_common(BlockDriverState *bs, const
char *filename,
}
pstrcpy(bs->filename, sizeof(bs->filename), filename);
- bs->backing_file[0] = '\0';
if (use_bdrv_whitelist && !bdrv_is_whitelisted(drv)) {
return -ENOTSUP;
@@ -878,6 +872,11 @@ void bdrv_close(BlockDriverState *bs)
bs->copy_on_read = 0;
bs->backing_file[0] = '\0';
bs->backing_format[0] = '\0';
+ bs->total_sectors = 0;
+ bs->encrypted = 0;
+ bs->valid_key = 0;
+ bs->sg = 0;
+ bs->growable = 0;
if (bs->file != NULL) {
bdrv_delete(bs->file);
--
1.7.10.1
- [Qemu-devel] [PATCH 1.1 02/22] block: another bdrv_append fix, (continued)
- [Qemu-devel] [PATCH 1.1 02/22] block: another bdrv_append fix, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 01/22] block: fix snapshot on QED, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 03/22] block: do not reuse the backing file across bdrv_close/bdrv_open, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 05/22] block: add block_job_sleep_ns, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 04/22] block: fully delete bs->file when closing, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 06/22] block: wait for job callback in block_job_cancel_sync, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 07/22] block: simplify path_is_absolute, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 09/22] block: move field reset from bdrv_open_common to bdrv_close,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 1.1 08/22] block: protect path_has_protocol from filenames with colons, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 10/22] qemu-img: make "info" backing file output correct and easier to use, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 13/22] stream: fix sectors not allocated test, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 16/22] stream: fix HMP block_job_set_speed, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 14/22] stream: add testcase for partial streaming, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 15/22] stream: pass new base image format to bdrv_change_backing_file, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 17/22] stream: fix ratelimiting corner case, Paolo Bonzini, 2012/05/08
- [Qemu-devel] [PATCH 1.1 18/22] stream: do not copy unallocated sectors from the base, Paolo Bonzini, 2012/05/08