The first bug is simply that in 1.6.0 the default was changed by mistake to cache=unsafe. This affects all block drivers. It is fixed in the first patch.
The second is that Linux guests that support the CONFIG_WCE option were mistaken into thinking that caching was writethrough, and thus did not send any flush. The bug is in QEMU, and is fixed by the second patch. Paolo Bonzini (2): blockdev: do not default cache.no-flush to true virtio-blk: do not relay a previous driver's WCE configuration to the current blockdev.c | 2 +- hw/block/virtio-blk.c | 8 ++++++-- include/hw/virtio/virtio-blk.h | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) -- 1.8.3.1