blockdev: acquire aio_context for bitmap add/remove
authorJohn Snow <jsnow@redhat.com>
Tue, 19 Feb 2019 22:49:43 +0000 (17:49 -0500)
committerJohn Snow <jsnow@redhat.com>
Tue, 19 Feb 2019 22:49:43 +0000 (17:49 -0500)
commit0a6c86d024c52b1e66d4f7ec01a3bb8ea2600145
tree535e448c0735275c2bccfc820ad6994bf0d41351
parent73ab5d601c8b4311090a70e525f5970f70b8b2a0
blockdev: acquire aio_context for bitmap add/remove

When bitmaps are persistent, they may incur a disk read or write when bitmaps
are added or removed. For configurations like virtio-dataplane, failing to
acquire this lock will abort QEMU when disk IO occurs.

We used to acquire aio_context as part of the bitmap lookup, so re-introduce
the lock for just the cases that have an IO penalty. Commit 2119882c removed
these locks, and I failed to notice this when we committed fd5ae4cc, so this
has been broken since persistent bitmaps were introduced.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1672010
Reported-By: Aihua Liang <aliang@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20190218233154.19303-1-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
blockdev.c