summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2016-03-04 14:16:51 +0100
committerTimothy Pearson <tpearson@raptorengineering.com>2019-11-29 20:01:34 -0600
commita0dba62b0ca3070700e713580a3c6765130d448a (patch)
tree3b3ebb3725f5ac4c1340ea7e8ee6ce78af5867cf
parentbed8c859818fcc4c3f42028c27c3e6499eb8676c (diff)
downloadhqemu-a0dba62b0ca3070700e713580a3c6765130d448a.zip
hqemu-a0dba62b0ca3070700e713580a3c6765130d448a.tar.gz
block: Handle flush error in bdrv_pwrite_sync()
We don't want to silently ignore a flush error. Also, there is little point in avoiding the flush for writethrough modes and once WCE is moved to the BB layer, we definitely need the flush here because bdrv_pwrite() won't involve one any more. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com>
-rw-r--r--block/io.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/block/io.c b/block/io.c
index c8f5401..b588435 100644
--- a/block/io.c
+++ b/block/io.c
@@ -747,9 +747,9 @@ int bdrv_pwrite_sync(BlockDriverState *bs, int64_t offset,
return ret;
}
- /* No flush needed for cache modes that already do it */
- if (bs->enable_write_cache) {
- bdrv_flush(bs);
+ ret = bdrv_flush(bs);
+ if (ret < 0) {
+ return ret;
}
return 0;
OpenPOWER on IntegriCloud