quorum: Add quorum_co_flush().
Makes a vote to select error if any.
Signed-off-by: Benoit Canet <benoit@irqsave.net>Reviewed-by: Max Reitz <mreitz@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
quorum: Implement recursive .bdrv_recurse_is_first_non_filter in quorum.
This is used to activate quorum snapshot.
quorum: Add quorum mechanism.
This patchset enables the core of the quorum mechanism.The num_children reads are compared to get the majority version and if thisversion exists more than threshold times the guest won't see the error at all.
If a block is corrupted or if an error occurs during an IO or if the quorum...
quorum: Add quorum_getlength().
Check that every bs file returns the same length.Otherwise, return -EIO to disable the quorum andavoid length discrepancy.
quorum: Add quorum_invalidate_cache().
We really want that live migration works with quorum so implementquorum_invalidate_cache().
quorum: Add quorum_aio_writev and its dependencies.
Writes are mirrored num_children times on num_children devices.
blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from blkverify.
qemu_iovec_compare() will be used to compare IOs vectors in quorum blkverifymode. The patch extracts these functions in order to factorize the code.
Signed-off-by: Benoit Canet <benoit@irqsave.net>...
quorum: Add quorum_aio_readv.
Add code to do num_children reads in parallel and cleanup the structuresafterwards.
quorum: Create quorum.c, add QuorumChildRequest and QuorumAIOCB.
Quorum is a block filter mirroring writes to num_children children.For reads quorum reads each children and does a vote.If more than vote_threshold versions are identical the quorum is reached and...
quorum: Create BDRVQuorumState and BlkDriver and do init.
Create the structure holding the quorum settings and write the minimal blockdriver instanciation boilerplate.
Signed-off-by: Benoit Canet <benoit@irqsave.net>Reviewed-by: Max Reitz <mreitz@redhat.com>...
View all revisions | View revisions
Also available in: Atom