[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 18/18] block/backup: loosen restriction on readon
From: |
John Snow |
Subject: |
[Qemu-devel] [PATCH v3 18/18] block/backup: loosen restriction on readonly bitmaps |
Date: |
Fri, 5 Jul 2019 16:16:31 -0400 |
With the "never" sync policy, we actually can utilize readonly bitmaps
now. Loosen the check at the QMP level, and tighten it based on
provided arguments down at the job creation level instead.
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: John Snow <address@hidden>
---
block/backup.c | 6 ++++++
blockdev.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/block/backup.c b/block/backup.c
index b25e6179cf..a59962cea8 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -607,6 +607,12 @@ BlockJob *backup_job_create(const char *job_id,
BlockDriverState *bs,
return NULL;
}
+ /* If we need to write to this bitmap, check that we can: */
+ if (bitmap_mode != BITMAP_SYNC_MODE_NEVER &&
+ bdrv_dirty_bitmap_check(sync_bitmap, BDRV_BITMAP_DEFAULT, errp)) {
+ return NULL;
+ }
+
/* Create a new bitmap, and freeze/disable this one. */
if (bdrv_dirty_bitmap_create_successor(bs, sync_bitmap, errp) < 0) {
return NULL;
diff --git a/blockdev.c b/blockdev.c
index 5dfaa976c9..3e30bc2ca7 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -3489,7 +3489,7 @@ static BlockJob *do_backup_common(BackupCommon *backup,
"when providing a bitmap");
return NULL;
}
- if (bdrv_dirty_bitmap_check(bmap, BDRV_BITMAP_DEFAULT, errp)) {
+ if (bdrv_dirty_bitmap_check(bmap, BDRV_BITMAP_ALLOW_RO, errp)) {
return NULL;
}
}
--
2.21.0
- [Qemu-devel] [PATCH v3 09/18] block/dirty-bitmap: add bdrv_dirty_bitmap_merge_internal, (continued)
- [Qemu-devel] [PATCH v3 09/18] block/dirty-bitmap: add bdrv_dirty_bitmap_merge_internal, John Snow, 2019/07/05
- [Qemu-devel] [PATCH v3 07/18] hbitmap: Fix merge when b is empty, and result is not an alias of a, John Snow, 2019/07/05
- [Qemu-devel] [PATCH v3 10/18] block/dirty-bitmap: add bdrv_dirty_bitmap_get, John Snow, 2019/07/05
- [Qemu-devel] [PATCH v3 12/18] block/backup: add 'always' bitmap sync policy, John Snow, 2019/07/05
- [Qemu-devel] [PATCH v3 11/18] block/backup: upgrade copy_bitmap to BdrvDirtyBitmap, John Snow, 2019/07/05
- [Qemu-devel] [PATCH v3 13/18] iotests: add testing shim for script-style python tests, John Snow, 2019/07/05
- [Qemu-devel] [PATCH v3 14/18] iotests: teach run_job to cancel pending jobs, John Snow, 2019/07/05
- [Qemu-devel] [PATCH v3 15/18] iotests: teach FilePath to produce multiple paths, John Snow, 2019/07/05
- [Qemu-devel] [PATCH v3 16/18] iotests: Add virtio-scsi device helper, John Snow, 2019/07/05
- [Qemu-devel] [PATCH v3 18/18] block/backup: loosen restriction on readonly bitmaps,
John Snow <=
- [Qemu-devel] [PATCH v3 17/18] iotests: add test 257 for bitmap-mode backups, John Snow, 2019/07/05