Le Friday 03 Aug 2012 à 16:14:51 (+0000), Blue Swirl a écrit : > On Thu, Aug 2, 2012 at 10:16 AM, Benoît Canet <benoit.ca...@gmail.com> wrote: > > This patchset create a block driver implementing a qorum using three qemu > > disk > > images. Writes are mirrored on the three files. > > For the reading part the three files are read at the same time and a vote is > > done to determine which is the majoritary qiov version. It then return this > > majoritary version to the upper layers. > > When three differents versions of the data are returned by the lower layer > > the > > qorum is broken and the read return -EIO. > > It would be pretty easy to make the number of nodes and quorum > threshold values for both read and write selectable. Then you could > have for example 100 nodes and write quorum at 51 (for example, 49 > nodes offline). Obviously writing the same data 100 times sequentially > would not give very high performance but it's a start.
For now the number of disk is hardcoded to 3. But most of the code is written with a variable number of disk in mind: just quorum_open and quorum_vote would need to be rewritten with a few automatic changes across the code.