History | View | Annotate | Download (24.1 kB)
qmp: Make Quorum error events more palatable.
Insert quorum QMP events documentation alphabetically.
Also change the "ret" errno value by an optional "error" being an strerror(-ret)in the QUORUM_REPORT_BAD qmp event.
Signed-off-by: Benoit Canet <benoit@irqsave.net>...
quorum: Simplify quorum_open()
Although it may not look like it, this patch simplifies quorum_open().qdict_array_split() is now able to return QLists with different objectsthan only QDicts, therefore it will now do all the work andquorum_open() does not have to handle reference strings by itself....
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_open() and quorum_close().
Example of command line:
-drive if=virtio,driver=quorum,\children.0.file.filename=1.raw,\children.0.node-name=1.raw,\children.0.driver=raw,\children.1.file.filename=2.raw,\children.1.node-name=2.raw,\children.1.driver=raw,\...
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.
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>...