From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33188) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vb4DE-0005kJ-7v for qemu-devel@nongnu.org; Tue, 29 Oct 2013 03:59:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vb4D8-0003hX-7n for qemu-devel@nongnu.org; Tue, 29 Oct 2013 03:59:40 -0400 Received: from nodalink.pck.nerim.net ([62.212.105.220]:37372 helo=paradis.irqsave.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vb4D7-0003hI-UE for qemu-devel@nongnu.org; Tue, 29 Oct 2013 03:59:34 -0400 Date: Tue, 29 Oct 2013 08:59:29 +0100 From: =?iso-8859-1?Q?Beno=EEt?= Canet Message-ID: <20131029075929.GC2873@irqsave.net> References: <1380717564-11098-1-git-send-email-benoit@irqsave.net> <524ED15C.2010005@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <524ED15C.2010005@redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH V9 00/11] Quorum block driver List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz Cc: kwolf@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com Le Friday 04 Oct 2013 =E0 16:31:56 (+0200), Max Reitz a =E9crit : > On 2013-10-02 14:39, Beno=EEt Canet wrote: > >It must be applied on top of "block: Add BlockDriver.bdrv_check_ext_sn= apshot." > > > >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 time= s. It then > >return this majority version to the upper layers. > >When i < $threshold versions of the data are returned by the lower lay= er the > >quorum is broken and the read return -EIO. > > > >The goal of this patchset is to be turned in a QEMU block filter livin= g just > >above raw-*.c and below qcow2/qed when the required infrastructure wil= l 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 blk= mirror. > > > >v9: integrate latests comments from kevin > > > >Beno=EEt 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 > > >=20 > Could you add a qemu-iotest if possible? I don't see how to specify quorum to qemu-io for bytes checking. Best regards Beno=EEt >=20 > Max >=20