Skip to content

block: Add flush after metadata writes

Kevin Wolf qemu-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6block: Add bdrv_(p)write_syncblock.c block.h+41 -00 replies
2/6cow: Use bdrv_(p)write_sync for metadata writesblock/cow.c+11 -90 replies
3/6qcow: Use bdrv_(p)write_sync for metadata writesblock/qcow.c+10 -80 replies
4/6qcow2: Use bdrv_(p)write_sync for metadata writesblock/qcow2-cluster.c block/qcow2-refcount.c block/qcow2-snapshot.c +1 more+40 -410 replies
5/6vmdk: Use bdrv_(p)write_sync for metadata writesblock/vmdk.c+5 -50 replies
6/6vpc: Use bdrv_(p)write_sync for metadata writesblock/vpc.c+5 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [Qemu-devel] [PATCH 0/6] block: Add flush after metadata writes

This addresses the data integrity problems which are described for qcow at
http://wiki.qemu.org/Features/Qcow2DataIntegrity#Metadata_update_ordering.2C_Part_2
These problems are the same for all writable image formats, so this series contains a patch for each of them.

The only exception is VDI which uses AIO for writing its metadata. It needs a different fix.

Kevin Wolf (6):
block: Add bdrv_(p)write_sync
cow: Use bdrv_(p)write_sync for metadata writes
qcow: Use bdrv_(p)write_sync for metadata writes
qcow2: Use bdrv_(p)write_sync for metadata writes
vmdk: Use bdrv_(p)write_sync for metadata writes
vpc: Use bdrv_(p)write_sync for metadata writes

 block.c                |   37 +++++++++++++++++++++++++++++++++++++
 block.h                |    4 ++++
 block/cow.c            |   20 +++++++++++---------
 block/qcow.c           |   18 ++++++++++--------
 block/qcow2-cluster.c  |   24 ++++++++++++------------
 block/qcow2-refcount.c |   24 ++++++++++++------------
 block/qcow2-snapshot.c |   23 +++++++++++------------
 block/qcow2.c          |   10 +++++-----
 block/vmdk.c           |   10 +++++-----
 block/vpc.c            |    9 +++++----
 10 files changed, 112 insertions(+), 67 deletions(-)