[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v2 3/6] bitmaps: prohibit merge on locked bitmap
From: |
John Snow |
Subject: |
[Qemu-devel] [RFC PATCH v2 3/6] bitmaps: prohibit merge on locked bitmaps |
Date: |
Fri, 21 Sep 2018 18:28:44 -0400 |
Like frozen, "qmp locked" bitmaps must not be modified by the user.
Signed-off-by: John Snow <address@hidden>
---
block/dirty-bitmap.c | 1 +
blockdev.c | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c
index 5c8a7bbf6f..216baec388 100644
--- a/block/dirty-bitmap.c
+++ b/block/dirty-bitmap.c
@@ -798,6 +798,7 @@ void bdrv_merge_dirty_bitmap(BdrvDirtyBitmap *dest, const
BdrvDirtyBitmap *src,
qemu_mutex_lock(dest->mutex);
assert(!bdrv_dirty_bitmap_frozen(dest));
+ assert(!bdrv_dirty_bitmap_qmp_locked(dest));
assert(!bdrv_dirty_bitmap_readonly(dest));
if (!hbitmap_merge(dest->bitmap, src->bitmap)) {
diff --git a/blockdev.c b/blockdev.c
index bb8d75c832..b21e635c68 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -2955,6 +2955,10 @@ void qmp_x_block_dirty_bitmap_merge(const char *node,
const char *dst_name,
error_setg(errp, "Bitmap '%s' is readonly and cannot be modified",
dst_name);
return;
+ } else if (bdrv_dirty_bitmap_qmp_locked(dst)) {
+ error_setg(errp, "Bitmap '%s' is in-use by an operation "
+ "and cannot be modified", dst_name);
+ return;
}
src = bdrv_find_dirty_bitmap(bs, src_name);
--
2.14.4
- [Qemu-devel] [RFC PATCH v2 0/6] dirty-bitmaps: fix QMP command permissions, John Snow, 2018/09/21
- [Qemu-devel] [RFC PATCH v2 1/6] dirty-bitmaps: allow merging to disabled bitmaps, John Snow, 2018/09/21
- [Qemu-devel] [RFC PATCH v2 2/6] bitmaps: allow clear on disabled bitmaps, John Snow, 2018/09/21
- [Qemu-devel] [RFC PATCH v2 3/6] bitmaps: prohibit merge on locked bitmaps,
John Snow <=
- [Qemu-devel] [RFC PATCH v2 4/6] bitmaps: add user_modifiable status checker, John Snow, 2018/09/21
- [Qemu-devel] [RFC PATCH v2 5/6] bitmaps: prohibit enable/disable on locked/frozen bitmaps, John Snow, 2018/09/21
- [Qemu-devel] [RFC PATCH v2 6/6] block/backup: prohibit backup from using in-use bitmaps, John Snow, 2018/09/21