From: "Benoît Canet" <benoit.canet@irqsave.net>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: "Benoît Canet" <benoit.canet@irqsave.net>,
kwolf@redhat.com, "Benoît Canet" <benoit.canet@gmail.com>,
stefanha@linux.vnet.ibm.com, qemu-devel@nongnu.org,
blauwirbel@gmail.com, anthony@codemonkey.ws, pbonzini@redhat.com,
eblake@redhat.com, afaerber@suse.de
Subject: Re: [Qemu-devel] [RFC V3 0/9] Quorum disk image corruption resiliency
Date: Mon, 20 Aug 2012 16:03:23 +0200 [thread overview]
Message-ID: <20120820140322.GB9290@irqsave.net> (raw)
In-Reply-To: <CAJSP0QXmv9pByp8An2JViO3LMV7B-YRkYCWCuQsV_v-50LLuNw@mail.gmail.com>
Le Monday 20 Aug 2012 à 13:56:53 (+0100), Stefan Hajnoczi a écrit :
> On Mon, Aug 20, 2012 at 12:42 PM, Benoît Canet <benoit.canet@irqsave.net> wrote:
> >
> > Le Monday 20 Aug 2012 à 12:24:33 (+0100), Stefan Hajnoczi a écrit :
> >> On Mon, Aug 20, 2012 at 12:23 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> >> > On Mon, Aug 20, 2012 at 11:12 AM, Benoît Canet <benoit.canet@irqsave.net> wrote:
> >> >> Le Tuesday 14 Aug 2012 à 16:14:02 (+0200), Benoît Canet a écrit :
> >> >>> This patchset create a block driver implementing a quorum using m qemu disk
> >> >>> images. Writes are mirrored on the m files.
> >> >>> For the reading part the m files are read at the same time and a vote is
> >> >>> done to determine if a qiov version is present n or more times. It then return
> >> >>> this majority version to the upper layers.
> >> >>> When i < n 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.
> >> >>>
> >> >>> usage: -drive file=quorum:n/m:image_1.raw:...:image_m.raw,if=virtio,cache=none
> >> >>
> >> >> stefanha: I am wondering what would be needed to do in order to have COR and streaming working
> >> >> with quorum.c ?
> >> >
> >> > .bdrv_is_allocated()/.bdrv_co_is_allocated() needs to be supported by
> >> > block/quorum.c. Have you tried it and found a problem?
> >>
> >> Just want to confirm you are thinking about image streaming on top of
> >> quorum? Or are you thinking about streaming underneath quorum?
> >
> > I am thinking about streaming with quorum on top of a bunch of backing files.
> > ie: data landing into the higher level backing file living just under quorum.
>
> If there are backing files then there must be qcow2 or another image
> format on top of quorum:
>
> qcow2 ("virtio0")
> +------ foo.img (file)
> +------ quorum (backing_hd)
> +------- backing_a.img
> +------- backing_b.img
> +------- backing_c.img
>
> .bdrv_is_allocated()/.bdrv_co_is_allocated() must be supported by quorum.
This seems like a low hanging fruit.
Too bad we cannot create new snapshot of quorum file easily without full
block filter support in qemu.
Am I right ?
Benoît
>
> Stefan
next prev parent reply other threads:[~2012-08-20 14:03 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-14 14:14 [Qemu-devel] [RFC V3 0/9] Quorum disk image corruption resiliency Benoît Canet
2012-08-14 14:14 ` [Qemu-devel] [RFC V3 1/9] quorum: Create quorum.c, add QuorumSingleAIOCB and QuorumAIOCB Benoît Canet
2012-08-14 14:14 ` [Qemu-devel] [RFC V3 2/9] quorum: Create BDRVQuorumState and BlkDriver and do init Benoît Canet
2012-08-14 14:14 ` [Qemu-devel] [RFC V3 3/9] quorum: Add quorum_open() and quorum_close() Benoît Canet
2012-08-14 14:45 ` Eric Blake
2012-08-14 14:14 ` [Qemu-devel] [RFC V3 4/9] quorum: Add quorum_getlength() Benoît Canet
2012-08-14 16:08 ` Eric Blake
2012-08-16 13:18 ` Benoît Canet
2012-08-14 14:14 ` [Qemu-devel] [RFC V3 5/9] quorum: Add quorum_aio_writev and its dependencies Benoît Canet
2012-08-14 14:14 ` [Qemu-devel] [RFC V3 6/9] blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from blkverify Benoît Canet
2012-08-14 14:14 ` [Qemu-devel] [RFC V3 7/9] quorum: Add quorum_co_flush() Benoît Canet
2012-08-14 18:52 ` Blue Swirl
2012-08-14 14:14 ` [Qemu-devel] [RFC V3 8/9] quorum: Add quorum_aio_readv Benoît Canet
2012-08-15 10:53 ` Stefan Hajnoczi
2012-08-14 14:14 ` [Qemu-devel] [RFC V3 9/9] quorum: Add quorum mechanism Benoît Canet
2012-08-15 10:51 ` Stefan Hajnoczi
2012-08-14 18:47 ` [Qemu-devel] [RFC V3 0/9] Quorum disk image corruption resiliency Blue Swirl
2012-08-15 13:12 ` Stefan Hajnoczi
2012-08-20 10:12 ` Benoît Canet
2012-08-20 11:23 ` Stefan Hajnoczi
2012-08-20 11:24 ` Stefan Hajnoczi
2012-08-20 11:42 ` Benoît Canet
2012-08-20 12:56 ` Stefan Hajnoczi
2012-08-20 14:03 ` Benoît Canet [this message]
2012-08-20 15:28 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120820140322.GB9290@irqsave.net \
--to=benoit.canet@irqsave.net \
--cc=afaerber@suse.de \
--cc=anthony@codemonkey.ws \
--cc=benoit.canet@gmail.com \
--cc=blauwirbel@gmail.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=stefanha@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.