aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2016-03-04 14:52:32 +0100
committerKevin Wolf <kwolf@redhat.com>2016-03-30 11:59:32 +0200
commitb8816a43865822883ffc9b506e6243c7d986561a (patch)
tree4fdf9fa912d75eac44a77bcf79c3eb51abc00e5f
parentaaa436f9982ebf3988c9a25661c96bca97b259b0 (diff)
block: Make backing files always writeback
First of all, we're generally not writing to backing files, but when we do, it's in the context of block jobs which know very well when to flush the image. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
-rw-r--r--block.c5
-rw-r--r--tests/qemu-iotests/142.out10
2 files changed, 8 insertions, 7 deletions
diff --git a/block.c b/block.c
index c4dca31fb2..d050c4bb58 100644
--- a/block.c
+++ b/block.c
@@ -738,8 +738,9 @@ static void bdrv_backing_options(int *child_flags, QDict *child_options,
{
int flags = parent_flags;
- /* The cache mode is inherited unmodified for backing files */
- qdict_copy_default(child_options, parent_options, BDRV_OPT_CACHE_WB);
+ /* The cache mode is inherited unmodified for backing files; except WCE,
+ * which is only applied on the top level (BlockBackend) */
+ qdict_set_default_str(child_options, BDRV_OPT_CACHE_WB, "on");
qdict_copy_default(child_options, parent_options, BDRV_OPT_CACHE_DIRECT);
qdict_copy_default(child_options, parent_options, BDRV_OPT_CACHE_NO_FLUSH);
diff --git a/tests/qemu-iotests/142.out b/tests/qemu-iotests/142.out
index b555d5a255..abe94c3320 100644
--- a/tests/qemu-iotests/142.out
+++ b/tests/qemu-iotests/142.out
@@ -62,7 +62,7 @@ cache.direct=on on backing-file
cache.writeback=off on none0
Cache mode: writethrough
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
cache.writeback=off on file
@@ -143,7 +143,7 @@ cache.writeback=off on none0
Cache mode: writethrough
Cache mode: writethrough
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
cache.writeback=off on file
@@ -302,7 +302,7 @@ cache.direct=on on backing-file
cache.writeback=off on none0
Cache mode: writethrough, direct
Cache mode: writeback, direct
- Cache mode: writethrough, direct
+ Cache mode: writeback, direct
Cache mode: writeback, direct
cache.writeback=off on file
@@ -383,7 +383,7 @@ cache.writeback=off on none0
Cache mode: writeback, direct
Cache mode: writethrough
Cache mode: writeback
- Cache mode: writethrough
+ Cache mode: writeback
Cache mode: writeback
cache.writeback=off on file
@@ -718,7 +718,7 @@ cache.direct=on on backing-file
cache.writeback=off on none0
Cache mode: writethrough
Cache mode: writeback
- Cache mode: writethrough, direct
+ Cache mode: writeback, direct
Cache mode: writeback, direct
cache.writeback=off on file