[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/17] block: store actual flags in bs->open_flags
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 02/17] block: store actual flags in bs->open_flags |
Date: |
Tue, 13 Dec 2011 13:37:05 +0100 |
The passed flags are changed slightly before passing them to bdrv_open.
Store the same flags in bs->open_flags, so that they are used correctly
in bdrv_snapshot_goto. In addition, this way we will be able to query
them and get back consistent values.
Signed-off-by: Paolo Bonzini <address@hidden>
---
block.c | 30 +++++++++++++++---------------
1 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/block.c b/block.c
index a96f080..fa11e3a 100644
--- a/block.c
+++ b/block.c
@@ -566,12 +566,26 @@ static int bdrv_open_common(BlockDriverState *bs, const
char *filename,
trace_bdrv_open_common(bs, filename, flags, drv->format_name);
+ /*
+ * Clear flags that are internal to the block layer before opening the
+ * image.
+ */
+ open_flags = flags & ~(BDRV_O_SNAPSHOT | BDRV_O_NO_BACKING);
+
+ /*
+ * Snapshots should be writable.
+ */
+ if (bs->is_temporary) {
+ open_flags |= BDRV_O_RDWR;
+ }
+
+
bs->file = NULL;
bs->total_sectors = 0;
bs->encrypted = 0;
bs->valid_key = 0;
bs->sg = 0;
- bs->open_flags = flags;
+ bs->open_flags = open_flags;
bs->growable = 0;
bs->buffer_alignment = 512;
@@ -591,20 +605,6 @@ static int bdrv_open_common(BlockDriverState *bs, const
char *filename,
bs->opaque = g_malloc0(drv->instance_size);
bs->enable_write_cache = !!(flags & BDRV_O_CACHE_WB);
-
- /*
- * Clear flags that are internal to the block layer before opening the
- * image.
- */
- open_flags = flags & ~(BDRV_O_SNAPSHOT | BDRV_O_NO_BACKING);
-
- /*
- * Snapshots should be writable.
- */
- if (bs->is_temporary) {
- open_flags |= BDRV_O_RDWR;
- }
-
bs->keep_read_only = bs->read_only = !(open_flags & BDRV_O_RDWR);
/* Open the image, either directly or using a protocol */
--
1.7.7.1
- [Qemu-devel] [PATCH 00/17] Support mismatched host and guest logical block sizes, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 01/17] block: do not rely on open_flags for bdrv_is_snapshot, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 02/17] block: store actual flags in bs->open_flags,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 05/17] block: remove enable_write_cache, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 03/17] block: pass protocol flags up to the format, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 04/17] block: non-raw protocols never cache, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 06/17] block: move flag bits together, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 07/17] raw: remove the aligned_buf, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 08/17] block: rename buffer_alignment to guest_block_size, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 09/17] block: add host_block_size, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 11/17] iscsi: save host block size, Paolo Bonzini, 2011/12/13
- [Qemu-devel] [PATCH 12/17] block: allow waiting only for overlapping writes, Paolo Bonzini, 2011/12/13