diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2012-06-06 00:04:55 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2012-06-15 14:03:43 +0200 |
commit | 6af4e9ead4ec9491259c9861b1b35f9abee24a66 (patch) | |
tree | e73675471adb5001272bbfcbab116da8d8acf829 /block/qcow2-cache.c | |
parent | 7cdd481cdf15d610f83e38f15c7e7979420c6ac0 (diff) | |
download | qemu-6af4e9ead4ec9491259c9861b1b35f9abee24a66.zip qemu-6af4e9ead4ec9491259c9861b1b35f9abee24a66.tar.gz qemu-6af4e9ead4ec9491259c9861b1b35f9abee24a66.tar.bz2 |
qcow2: always operate caches in writeback mode
Writethrough does not need special-casing anymore in the qcow2 caches.
The block layer adds flushes after every guest-initiated data write,
and these will also flush the qcow2 caches to the OS.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/qcow2-cache.c')
-rw-r--r-- | block/qcow2-cache.c | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/block/qcow2-cache.c b/block/qcow2-cache.c index 710d4b1..2d4322a 100644 --- a/block/qcow2-cache.c +++ b/block/qcow2-cache.c @@ -40,11 +40,9 @@ struct Qcow2Cache { struct Qcow2Cache* depends; int size; bool depends_on_flush; - bool writethrough; }; -Qcow2Cache *qcow2_cache_create(BlockDriverState *bs, int num_tables, - bool writethrough) +Qcow2Cache *qcow2_cache_create(BlockDriverState *bs, int num_tables) { BDRVQcowState *s = bs->opaque; Qcow2Cache *c; @@ -53,7 +51,6 @@ Qcow2Cache *qcow2_cache_create(BlockDriverState *bs, int num_tables, c = g_malloc0(sizeof(*c)); c->size = num_tables; c->entries = g_malloc0(sizeof(*c->entries) * num_tables); - c->writethrough = writethrough; for (i = 0; i < c->size; i++) { c->entries[i].table = qemu_blockalign(bs, s->cluster_size); @@ -307,12 +304,7 @@ found: *table = NULL; assert(c->entries[i].ref >= 0); - - if (c->writethrough) { - return qcow2_cache_entry_flush(bs, c, i); - } else { - return 0; - } + return 0; } void qcow2_cache_entry_mark_dirty(Qcow2Cache *c, void *table) @@ -329,16 +321,3 @@ void qcow2_cache_entry_mark_dirty(Qcow2Cache *c, void *table) found: c->entries[i].dirty = true; } - -bool qcow2_cache_set_writethrough(BlockDriverState *bs, Qcow2Cache *c, - bool enable) -{ - bool old = c->writethrough; - - if (!old && enable) { - qcow2_cache_flush(bs, c); - } - - c->writethrough = enable; - return old; -} |