[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC V2 01/10] quorum: Create quorum.c, add QuorumSingl
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [RFC V2 01/10] quorum: Create quorum.c, add QuorumSingleAIOCB and QuorumAIOCB. |
Date: |
Tue, 7 Aug 2012 20:24:24 +0000 |
On Tue, Aug 7, 2012 at 1:44 PM, Benoît Canet <address@hidden> wrote:
> Signed-off-by: Benoit Canet <address@hidden>
> ---
> block/Makefile.objs | 1 +
> block/quorum.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 45 insertions(+)
> create mode 100644 block/quorum.c
>
> diff --git a/block/Makefile.objs b/block/Makefile.objs
> index b5754d3..66af6dc 100644
> --- a/block/Makefile.objs
> +++ b/block/Makefile.objs
> @@ -4,6 +4,7 @@ block-obj-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o
> qed-cluster.o
> block-obj-y += qed-check.o
> block-obj-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
> block-obj-y += stream.o
> +block-obj-y += quorum.o
> block-obj-$(CONFIG_WIN32) += raw-win32.o
> block-obj-$(CONFIG_POSIX) += raw-posix.o
> block-obj-$(CONFIG_LIBISCSI) += iscsi.o
> diff --git a/block/quorum.c b/block/quorum.c
> new file mode 100644
> index 0000000..046b183
> --- /dev/null
> +++ b/block/quorum.c
> @@ -0,0 +1,44 @@
> +/*
> + * Quorum Block filter
> + *
> + * Copyright (C) Nodalink, SARL. 2012
> + *
> + * Author:
> + * Benoît Canet <address@hidden>
> + *
> + * Based on the design and code of blkverify.c (Copyright (C) 2010 IBM, Corp)
> + * and blkmirror.c (Copyright (C) 2011 Red Hat, Inc).
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#include "block_int.h"
> +
> +typedef struct QuorumAIOCB QuorumAIOCB;
> +
> +typedef struct QuorumSingleAIOCB {
> + BlockDriverAIOCB *aiocb;
> + char *buf;
uint8_t *buf?
> + int ret;
> + QuorumAIOCB *parent;
> +} QuorumSingleAIOCB;
> +
> +struct QuorumAIOCB {
> + BlockDriverAIOCB common;
> + QEMUBH *bh;
> +
> + /* Request metadata */
> + int64_t sector_num;
> + int nb_sectors;
> +
> + QEMUIOVector *qiov; /* calling readv IOV */
> +
> + QuorumSingleAIOCB aios[3]; /* individual AIOs */
> + QEMUIOVector qiovs[3]; /* individual IOVs */
> + int count; /* number of completed AIOCB */
> + bool *finished; /* completion signal for cancel */
> +
> + void (*vote)(QuorumAIOCB *acb);
> + int vote_ret;
> +};
> --
> 1.7.9.5
>
- [Qemu-devel] [PATCH 00/10] Quorum disk image corruption resiliency, Benoît Canet, 2012/08/07
- [Qemu-devel] [RFC V2 02/10] quorum: Create BDRVQuorumState and BlkDriver and do init., Benoît Canet, 2012/08/07
- [Qemu-devel] [RFC V2 01/10] quorum: Create quorum .c, add QuorumSingleAIOCB and QuorumAIOCB., Benoît Canet, 2012/08/07
- Re: [Qemu-devel] [RFC V2 01/10] quorum: Create quorum.c, add QuorumSingleAIOCB and QuorumAIOCB.,
Blue Swirl <=
- [Qemu-devel] [RFC V2 03/10] quorum: Add quorum_open()., Benoît Canet, 2012/08/07
- Re: [Qemu-devel] [RFC V2 03/10] quorum: Add quorum_open()., Blue Swirl, 2012/08/07
- Re: [Qemu-devel] [RFC V2 03/10] quorum: Add quorum_open()., Eric Blake, 2012/08/07
- Re: [Qemu-devel] [RFC V2 03/10] quorum: Add quorum_open()., Benoît Canet, 2012/08/10
- Re: [Qemu-devel] [RFC V2 03/10] quorum: Add quorum_open()., Kevin Wolf, 2012/08/13
- Re: [Qemu-devel] [RFC V2 03/10] quorum: Add quorum_open()., Benoît Canet, 2012/08/14
- Re: [Qemu-devel] [RFC V2 03/10] quorum: Add quorum_open()., Kevin Wolf, 2012/08/15
Re: [Qemu-devel] [RFC V2 03/10] quorum: Add quorum_open()., Stefan Hajnoczi, 2012/08/08
[Qemu-devel] [RFC V2 04/10] quorum: Add quorum_close()., Benoît Canet, 2012/08/07