summaryrefslogtreecommitdiff
path: root/block/block-backend.c
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2016-03-15 14:34:37 +0100
committerKevin Wolf <kwolf@redhat.com>2016-03-30 12:16:01 +0200
commit72e775c7d9de3eaa35a6edaf9d87cedee149d0f5 (patch)
tree6146ef9c8ce3f93f11df617a2e6d4dfeba72b82e /block/block-backend.c
parente4b24b497e4171a89da541fe83c3dc84c51d42da (diff)
downloadqemu-72e775c7d9de3eaa35a6edaf9d87cedee149d0f5.zip
block: Always set writeback mode in blk_new_open()
All callers of blk_new_open() either don't rely on the WCE bit set after blk_new_open() because they explicitly set it anyway, or they pass BDRV_O_CACHE_WB unconditionally. This patch changes blk_new_open() so that it always enables writeback mode and asserts that BDRV_O_CACHE_WB is clear. For those callers that used to pass BDRV_O_CACHE_WB unconditionally, the flag is removed now. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'block/block-backend.c')
-rw-r--r--block/block-backend.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/block/block-backend.c b/block/block-backend.c
index e578a2d5e3..048f48e935 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -148,6 +148,8 @@ BlockBackend *blk_new_open(const char *filename, const char *reference,
BlockBackend *blk;
int ret;
+ assert((flags & BDRV_O_CACHE_WB) == 0);
+
blk = blk_new_with_bs(errp);
if (!blk) {
QDECREF(options);
@@ -160,6 +162,8 @@ BlockBackend *blk_new_open(const char *filename, const char *reference,
return NULL;
}
+ blk_set_enable_write_cache(blk, true);
+
return blk;
}