qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V9 00/11] Quorum block driver


From: Benoît Canet
Subject: Re: [Qemu-devel] [PATCH V9 00/11] Quorum block driver
Date: Sat, 5 Oct 2013 00:25:36 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Le Friday 04 Oct 2013 à 16:31:56 (+0200), Max Reitz a écrit :
> On 2013-10-02 14:39, Benoît Canet wrote:
> >It must be applied on top of "block: Add 
> >BlockDriver.bdrv_check_ext_snapshot."
> >
> >This patchset create a block driver implementing a quorum using total qemu 
> >disk
> >images. Writes are mirrored on the $total files.
> >For the reading part the $total files are read at the same time and a vote is
> >done to determine if a qiov version is present $threshold or more times. It 
> >then
> >return this majority version to the upper layers.
> >When i < $threshold versions of the data are returned by the lower layer the
> >quorum is broken and the read return -EIO.
> >
> >The goal of this patchset is to be turned in a QEMU block filter living just
> >above raw-*.c and below qcow2/qed when the required infrastructure will be 
> >done.
> >
> >Main use of this feature will be people using NFS appliances which can be
> >subjected to bitflip errors.
> >
> >This patchset can be used to replace blkverify and the out of tree blkmirror.
> >
> >v9: integrate latests comments from kevin
> >
> >Benoît Canet (11):
> >   quorum: Create quorum.c, add QuorumSingleAIOCB and QuorumAIOCB.
> >   quorum: Create BDRVQuorumState and BlkDriver and do init.
> >   quorum: Add quorum_aio_writev and its dependencies.
> >   blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from
> >     blkverify.
> >   quorum: Add quorum_aio_readv.
> >   quorum: Add quorum mechanism.
> >   quorum: Add quorum_getlength().
> >   quorum: Add quorum_invalidate_cache().
> >   quorum: Add quorum_co_get_block_status.
> >   quorum: Add quorum_co_flush().
> >   quorum: Add quorum_open() and quorum_close().
> >
> >  block/Makefile.objs       |    1 +
> >  block/blkverify.c         |  108 +----
> >  block/quorum.c            | 1035 
> > +++++++++++++++++++++++++++++++++++++++++++++
> >  configure                 |   36 ++
> >  include/monitor/monitor.h |    2 +
> >  include/qemu-common.h     |    2 +
> >  monitor.c                 |    2 +
> >  util/iov.c                |  103 +++++
> >  8 files changed, 1183 insertions(+), 106 deletions(-)
> >  create mode 100644 block/quorum.c
> >
> 
> Could you add a qemu-iotest if possible?

Thanks for the review Max.
I will iterate.

Best regards

Benoît

> 
> Max
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]