[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v24 01/12] unblock backup operations in backing file
From: |
Changlong Xie |
Subject: |
[Qemu-block] [PATCH v24 01/12] unblock backup operations in backing file |
Date: |
Wed, 27 Jul 2016 15:01:42 +0800 |
From: Wen Congyang <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Changlong Xie <address@hidden>
Signed-off-by: Wang WeiWei <address@hidden>
---
block.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/block.c b/block.c
index 9f037db..63e4636 100644
--- a/block.c
+++ b/block.c
@@ -1310,6 +1310,23 @@ void bdrv_set_backing_hd(BlockDriverState *bs,
BlockDriverState *backing_hd)
/* Otherwise we won't be able to commit due to check in bdrv_commit */
bdrv_op_unblock(backing_hd, BLOCK_OP_TYPE_COMMIT_TARGET,
bs->backing_blocker);
+ /*
+ * We do backup in 3 ways:
+ * 1. drive backup
+ * The target bs is new opened, and the source is top BDS
+ * 2. blockdev backup
+ * Both the source and the target are top BDSes.
+ * 3. internal backup(used for block replication)
+ * Both the source and the target are backing file
+ *
+ * In case 1 and 2, neither the source nor the target is the backing file.
+ * In case 3, we will block the top BDS, so there is only one block job
+ * for the top BDS and its backing chain.
+ */
+ bdrv_op_unblock(backing_hd, BLOCK_OP_TYPE_BACKUP_SOURCE,
+ bs->backing_blocker);
+ bdrv_op_unblock(backing_hd, BLOCK_OP_TYPE_BACKUP_TARGET,
+ bs->backing_blocker);
out:
bdrv_refresh_limits(bs, NULL);
}
--
1.9.3
- [Qemu-block] [PATCH v24 00/12] Block replication for continuous checkpoints, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 01/12] unblock backup operations in backing file,
Changlong Xie <=
- [Qemu-block] [PATCH v24 04/12] Link backup into block core, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 02/12] Backup: clear all bitmap when doing block checkpoint, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 06/12] auto complete active commit, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 03/12] Backup: export interfaces for extra serialization, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 07/12] configure: support replication, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 05/12] docs: block replication's description, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 11/12] support replication driver in blockdev-add, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 08/12] Introduce new APIs to do replication operation, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 12/12] MAINTAINERS: add maintainer for replication, Changlong Xie, 2016/07/27
- [Qemu-block] [PATCH v24 10/12] tests: add unit test case for replication, Changlong Xie, 2016/07/27