aboutsummaryrefslogtreecommitdiff
path: root/block.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2012-06-06 00:04:53 +0200
committerKevin Wolf <kwolf@redhat.com>2012-06-15 14:03:43 +0200
commite1e9b0aca05747be9e2174a53205bd904c10da49 (patch)
tree7f802701f7ca30c40768aa974ec61f8df9af8bc1 /block.c
parent425b01487a8072c3b16fa4b3fca30d8ecd06e0ca (diff)
downloadqemu-e1e9b0aca05747be9e2174a53205bd904c10da49.zip
qemu-e1e9b0aca05747be9e2174a53205bd904c10da49.tar.gz
qemu-e1e9b0aca05747be9e2174a53205bd904c10da49.tar.bz2
block: always open drivers in writeback mode
Formats are entirely in charge of flushes for metadata writes. For guest-initiated writes, a writethrough cache is faked in the block layer. So we can always open in writeback mode. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r--block.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/block.c b/block.c
index e4396a6..48528fd 100644
--- a/block.c
+++ b/block.c
@@ -649,12 +649,13 @@ 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);
+ open_flags = 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);
+ open_flags &= ~(BDRV_O_SNAPSHOT | BDRV_O_NO_BACKING);
/*
* Snapshots should be writable.