[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC V7 12/13] quorum: Add quorum_snapshot_reopen.
From: |
Benoît Canet |
Subject: |
[Qemu-devel] [RFC V7 12/13] quorum: Add quorum_snapshot_reopen. |
Date: |
Mon, 28 Jan 2013 14:22:58 +0100 |
Signed-off-by: Benoit Canet <address@hidden>
---
block/quorum.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/block/quorum.c b/block/quorum.c
index 0217593..d6fef58 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -797,6 +797,25 @@ free_new_s_exit:
quorum_free(&new_s);
}
+static int quorum_snapshot_reopen(BlockDriverState *bs, int bdrv_flags,
+ Error **errp)
+{
+ BDRVQuorumState *s = bs->file->opaque;
+ int i, ret = -1;
+ Error *local_err = NULL;
+ BlockReopenQueue *queue = NULL;
+
+ for (i = 0; i < s->total; i++) {
+ queue = bdrv_reopen_queue(queue, s->bs[i], bdrv_flags);
+ }
+
+ ret = bdrv_reopen_multiple(queue, &local_err);
+ if (local_err != NULL) {
+ error_propagate(errp, local_err);
+ }
+ return ret;
+}
+
static BlockDriver bdrv_quorum = {
.format_name = "quorum",
.protocol_name = "quorum",
@@ -813,6 +832,7 @@ static BlockDriver bdrv_quorum = {
.bdrv_co_is_allocated = quorum_co_is_allocated,
.bdrv_ext_snapshot_img_create = quorum_snapshot_img_create,
+ .bdrv_ext_snapshot_reopen = quorum_snapshot_reopen,
};
static void bdrv_quorum_init(void)
--
1.7.10.4
- [Qemu-devel] [RFC V7 00/13] Quorum block filter, Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 03/13] quorum: Add quorum_aio_writev and its dependencies., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 01/13] quorum: Create quorum .c, add QuorumSingleAIOCB and QuorumAIOCB., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 02/13] quorum: Create BDRVQuorumState and BlkDriver and do init., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 07/13] quorum: Add quorum_getlength()., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 10/13] quorum: Add quorum_co_flush()., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 12/13] quorum: Add quorum_snapshot_reopen.,
Benoît Canet <=
- [Qemu-devel] [RFC V7 13/13] quorum: Add quorum_open() and quorum_close()., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 11/13] quorum: Add quorum_snapshot_img_create., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 08/13] quorum: Add quorum_invalidate_cache()., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 06/13] quorum: Add quorum mechanism., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 05/13] quorum: Add quorum_aio_readv., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 04/13] blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from blkverify., Benoît Canet, 2013/01/28
- [Qemu-devel] [RFC V7 09/13] quorum: Add quorum_co_is_allocated., Benoît Canet, 2013/01/28