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(-)


Reply via email to