On 10/2/18 6:02 PM, John Snow wrote:
Whether it's "locked" or "frozen", it's in use and should
not be allowed for the purposes of this operation.

Signed-off-by: John Snow <js...@redhat.com>
---
  nbd/server.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/nbd/server.c b/nbd/server.c
index c3dd402b45..940b7aa0cd 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -2478,8 +2478,8 @@ void nbd_export_bitmap(NBDExport *exp, const char *bitmap,
          return;
      }
- if (bdrv_dirty_bitmap_qmp_locked(bm)) {
-        error_setg(errp, "Bitmap '%s' is locked", bitmap);
+    if (bdrv_dirty_bitmap_user_locked(bm)) {
+        error_setg(errp, "Bitmap '%s' is in use", bitmap);

Again, I'm not sure about this. A locked bitmap is unchanging. A frozen bitmap is split, and might change when the split is resolved, so we are correct that we cannot tolerate a frozen bitmap. But if locking were changed to a refcount instead of a bool, I don't see why we have to forbid a locked bitmap. Then again, as in 5/6, the user can work around this limitation by cloning a locked bitmap into an unlocked temporary one, where we are trading ease of maintenance for a bit more user effort.

Weak Reviewed-by: Eric Blake <ebl...@redhat.com>

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to