]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
block: Handle flush error in bdrv_pwrite_sync()
authorKevin Wolf <kwolf@redhat.com>
Fri, 4 Mar 2016 13:16:51 +0000 (14:16 +0100)
committerKevin Wolf <kwolf@redhat.com>
Wed, 30 Mar 2016 10:16:01 +0000 (12:16 +0200)
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>
block/io.c

index c8f5401076c554a19fe0ef859484e8b1f4da2bec..b58843594eb85e0c8c7e1f458c176dc85446ce2f 100644 (file)
@@ -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;