qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: jsnow@redhat.com, peter.maydell@linaro.org
Subject: [Qemu-devel] [PULL 11/19] block/dirty-bitmaps: fix merge permissions
Date: Mon, 29 Oct 2018 17:24:53 -0400	[thread overview]
Message-ID: <20181029212501.5897-12-jsnow@redhat.com> (raw)
In-Reply-To: <20181029212501.5897-1-jsnow@redhat.com>

In prior commits that made merge transactionable, we removed the
assertion that merge cannot operate on disabled bitmaps. In addition,
we want to make sure that we are prohibiting merges to "locked" bitmaps.

Use the new user_locked function to check.

Reported-by: Eric Blake <eblake@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id: 20181002230218.13949-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
---
 block/dirty-bitmap.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c
index 9603cdd29b..bfccb0ea15 100644
--- a/block/dirty-bitmap.c
+++ b/block/dirty-bitmap.c
@@ -806,9 +806,9 @@ void bdrv_merge_dirty_bitmap(BdrvDirtyBitmap *dest, const BdrvDirtyBitmap *src,
 
     qemu_mutex_lock(dest->mutex);
 
-    if (bdrv_dirty_bitmap_frozen(dest)) {
-        error_setg(errp, "Bitmap '%s' is frozen and cannot be modified",
-                   dest->name);
+    if (bdrv_dirty_bitmap_user_locked(dest)) {
+        error_setg(errp, "Bitmap '%s' is currently in use by another"
+        " operation and cannot be modified", dest->name);
         goto out;
     }
 
-- 
2.14.5

  parent reply	other threads:[~2018-10-29 21:25 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-29 21:24 [Qemu-devel] [PULL 00/19] Bitmaps patches John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 01/19] blockdev-backup: add bitmap argument John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 02/19] dirty-bitmap: switch assert-fails to errors in bdrv_merge_dirty_bitmap John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 03/19] dirty-bitmap: rename bdrv_undo_clear_dirty_bitmap John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 04/19] dirty-bitmap: make it possible to restore bitmap after merge John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 05/19] blockdev: rename block-dirty-bitmap-clear transaction handlers John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 06/19] qapi: add transaction support for x-block-dirty-bitmap-merge John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 07/19] iotests: 169: drop deprecated 'autoload' parameter John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 08/19] block/qcow2: improve error message in qcow2_inactivate John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 09/19] bloc/qcow2: drop dirty_bitmaps_loaded state variable John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 10/19] block/dirty-bitmaps: add user_locked status checker John Snow
2018-10-29 21:24 ` John Snow [this message]
2018-10-29 21:24 ` [Qemu-devel] [PULL 12/19] block/dirty-bitmaps: allow clear on disabled bitmaps John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 13/19] block/dirty-bitmaps: prohibit enable/disable on locked/frozen bitmaps John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 14/19] block/backup: prohibit backup from using in use bitmaps John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 15/19] nbd: forbid use of frozen bitmaps John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 16/19] bitmap: Update count after a merge John Snow
2018-10-29 21:24 ` [Qemu-devel] [PULL 17/19] dirty-bitmaps: clean-up bitmaps loading and migration logic John Snow
2018-10-29 21:25 ` [Qemu-devel] [PULL 18/19] iotests: improve 169 John Snow
2018-10-29 21:25 ` [Qemu-devel] [PULL 19/19] iotests: 169: add cases for source vm resuming John Snow
2018-10-30 15:49 ` [Qemu-devel] [PULL 00/19] Bitmaps patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181029212501.5897-12-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).