Skip to content

Commit

Permalink
block: Make backing files always writeback
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
kevmw committed Mar 30, 2016
1 parent aaa436f commit b8816a4
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
5 changes: 3 additions & 2 deletions block.c
Expand Up @@ -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);

Expand Down
10 changes: 5 additions & 5 deletions tests/qemu-iotests/142.out
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit b8816a4

Please sign in to comment.