diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2021-03-25 16:34:10 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2021-03-25 16:34:10 +0000 |
commit | 63ad23fa240bb7cdbf6d0440c5670cc7935032b0 (patch) | |
tree | 2fe863b1512aa78d30da9faf6a0fa995e14b6737 /tests/qemu-iotests | |
parent | 9e2e9fe3df9f539f8b6941ceb96d25355fdae47e (diff) | |
parent | 3460fd7f3959d1fa7bcc255796844aa261c805a4 (diff) |
Merge remote-tracking branch 'remotes/stefanha-gitlab/tags/block-pull-request' into staging
Pull request
This dirty bitmap fix solves a crash that can be triggered in the destination
QEMU process during live migration.
# gpg: Signature made Wed 24 Mar 2021 14:51:31 GMT
# gpg: using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
# gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8
* remotes/stefanha-gitlab/tags/block-pull-request:
migrate-bitmaps-postcopy-test: check that we can't remove in-flight bitmaps
migration/block-dirty-bitmap: make incoming disabled bitmaps busy
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests/qemu-iotests')
-rwxr-xr-x | tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test b/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test index d046ebeb94..584062b412 100755 --- a/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test +++ b/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test @@ -224,6 +224,16 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCase): self.start_postcopy() self.vm_b_events += self.vm_b.get_qmp_events() + + # While being here, let's check that we can't remove in-flight bitmaps. + for vm in (self.vm_a, self.vm_b): + for i in range(0, nb_bitmaps): + result = vm.qmp('block-dirty-bitmap-remove', node='drive0', + name=f'bitmap{i}') + self.assert_qmp(result, 'error/desc', + f"Bitmap 'bitmap{i}' is currently in use by " + "another operation and cannot be used") + self.vm_b.shutdown() # recreate vm_b, so there is no incoming option, which prevents # loading bitmaps from disk |