[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/6] push backup with fleecing
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[PATCH 0/6] push backup with fleecing |
Date: |
Fri, 21 May 2021 20:49:19 +0300 |
Hi all!
Here is push-backup with fleecing. What is it:
1. Make fleecing scheme
guest blk
|
|root
v
copy-before-write filter -------> temp qcow2
| |
|file | backing
V |
active disk <-------------------------
2. Start backup job from temp qcow2 to final remote target (NBD or
something)
Benefit in comparison with simple backup job: for remote final target
write operations are not very fast. And guest have to wait for
copy-before-write operations. With fleecing scheme target for
copy-before-write operations is local qcow2 file with faster access than
actual backup target. So, guest is less disturbed by copy-before-write
operations.
Based-on: <20210520142205.607501-1-vsementsov@virtuozzo.com>
([PATCH v2 00/33] block: publish backup-top filter)
Vladimir Sementsov-Ogievskiy (6):
block/block-copy: use write-unchanged for fleecing scheme
block/copy-before-write: require BLK_PERM_WRITE_UNCHANGED for fleecing
block: share writes on backing child of fleecing node
block: blk_root(): return non-const pointer
block/backup: don't insert filter if no writers
iotests/image-fleecing: test push backup with fleecing
block/copy-before-write.h | 1 +
include/sysemu/block-backend.h | 2 +-
block.c | 3 +-
block/backup.c | 55 ++++++++++-
block/block-backend.c | 2 +-
block/block-copy.c | 14 ++-
block/copy-before-write.c | 48 ++++++++-
tests/qemu-iotests/tests/image-fleecing | 104 +++++++++++++++-----
tests/qemu-iotests/tests/image-fleecing.out | 60 +++++++++++
9 files changed, 252 insertions(+), 37 deletions(-)
--
2.29.2
- [PATCH 0/6] push backup with fleecing,
Vladimir Sementsov-Ogievskiy <=
- [PATCH 1/6] block/block-copy: use write-unchanged for fleecing scheme, Vladimir Sementsov-Ogievskiy, 2021/05/21
- [PATCH 2/6] block/copy-before-write: require BLK_PERM_WRITE_UNCHANGED for fleecing, Vladimir Sementsov-Ogievskiy, 2021/05/21
- [PATCH 3/6] block: share writes on backing child of fleecing node, Vladimir Sementsov-Ogievskiy, 2021/05/21
- [PATCH 4/6] block: blk_root(): return non-const pointer, Vladimir Sementsov-Ogievskiy, 2021/05/21
- [PATCH 5/6] block/backup: don't insert filter if no writers, Vladimir Sementsov-Ogievskiy, 2021/05/21
- [PATCH 6/6] iotests/image-fleecing: test push backup with fleecing, Vladimir Sementsov-Ogievskiy, 2021/05/21