Re: [PATCH for-6.1?] iotest: Further enhance qemu-img-bitmaps
On 21.07.21 22:46, Eric Blake wrote: Add a regression test to make sure we detect attempts to use 'qemu-img bitmap' to modify an in-use local file. Suggested-by: Nir Soffer Signed-off-by: Eric Blake --- Sadly, this missed my bitmaps pull request today. If there's any reason to respin that pull request, I'm inclined to add this in, as it just touches the iotests; otherwise, if it slips to 6.2 it's not too bad. (Going through my patches folder...) Not sure if you’re still interested in this, but if so, we should skip this test case if OFD locks are not available (like 153 does). Hanna
Re: [PATCH for-6.1?] iotest: Further enhance qemu-img-bitmaps
21.07.2021 23:46, Eric Blake wrote: Add a regression test to make sure we detect attempts to use 'qemu-img bitmap' to modify an in-use local file. Suggested-by: Nir Soffer Signed-off-by: Eric Blake --- Sadly, this missed my bitmaps pull request today. If there's any reason to respin that pull request, I'm inclined to add this in, as it just touches the iotests; otherwise, if it slips to 6.2 it's not too bad. tests/qemu-iotests/tests/qemu-img-bitmaps | 6 ++ tests/qemu-iotests/tests/qemu-img-bitmaps.out | 5 + 2 files changed, 11 insertions(+) diff --git a/tests/qemu-iotests/tests/qemu-img-bitmaps b/tests/qemu-iotests/tests/qemu-img-bitmaps index 7a3fe8c3d37a..3b6fade11735 100755 --- a/tests/qemu-iotests/tests/qemu-img-bitmaps +++ b/tests/qemu-iotests/tests/qemu-img-bitmaps @@ -129,6 +129,12 @@ $QEMU_IMG map --output=json --image-opts \ $QEMU_IMG map --output=json --image-opts \ "$IMG,x-dirty-bitmap=qemu:dirty-bitmap:b3" | _filter_qemu_img_map +echo +echo "=== bitmap command fails to modify image already in use ===" +echo + +$QEMU_IMG bitmap --add "$TEST_IMG" b4 2>&1 | _filter_testdir + nbd_server_stop echo diff --git a/tests/qemu-iotests/tests/qemu-img-bitmaps.out b/tests/qemu-iotests/tests/qemu-img-bitmaps.out index e851f0320ecb..c6e12dd700aa 100644 --- a/tests/qemu-iotests/tests/qemu-img-bitmaps.out +++ b/tests/qemu-iotests/tests/qemu-img-bitmaps.out @@ -116,6 +116,11 @@ Format specific information: { "start": 2097152, "length": 1048576, "depth": 0, "present": false, "zero": false, "data": false}, { "start": 3145728, "length": 7340032, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}] +=== bitmap command fails to modify image already in use === + +qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock +Is another process using the image [TEST_DIR/t.qcow2]? + === Check handling of inconsistent bitmap === image: TEST_DIR/t.IMGFMT I'm not against, but why you decided to add such a test? Lock should work for any operation, what's the reason to check bitmaps separately? Or it was broken recently? anyway: Reviewed-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir
Re: [PATCH for-6.1?] iotest: Further enhance qemu-img-bitmaps
On 7/21/21 11:46 PM, Eric Blake wrote: Add a regression test to make sure we detect attempts to use 'qemu-img bitmap' to modify an in-use local file. Suggested-by: Nir Soffer Signed-off-by: Eric Blake --- Sadly, this missed my bitmaps pull request today. If there's any reason to respin that pull request, I'm inclined to add this in, as it just touches the iotests; otherwise, if it slips to 6.2 it's not too bad. tests/qemu-iotests/tests/qemu-img-bitmaps | 6 ++ tests/qemu-iotests/tests/qemu-img-bitmaps.out | 5 + 2 files changed, 11 insertions(+) diff --git a/tests/qemu-iotests/tests/qemu-img-bitmaps b/tests/qemu-iotests/tests/qemu-img-bitmaps index 7a3fe8c3d37a..3b6fade11735 100755 --- a/tests/qemu-iotests/tests/qemu-img-bitmaps +++ b/tests/qemu-iotests/tests/qemu-img-bitmaps @@ -129,6 +129,12 @@ $QEMU_IMG map --output=json --image-opts \ $QEMU_IMG map --output=json --image-opts \ "$IMG,x-dirty-bitmap=qemu:dirty-bitmap:b3" | _filter_qemu_img_map +echo +echo "=== bitmap command fails to modify image already in use ===" +echo + +$QEMU_IMG bitmap --add "$TEST_IMG" b4 2>&1 | _filter_testdir + nbd_server_stop echo diff --git a/tests/qemu-iotests/tests/qemu-img-bitmaps.out b/tests/qemu-iotests/tests/qemu-img-bitmaps.out index e851f0320ecb..c6e12dd700aa 100644 --- a/tests/qemu-iotests/tests/qemu-img-bitmaps.out +++ b/tests/qemu-iotests/tests/qemu-img-bitmaps.out @@ -116,6 +116,11 @@ Format specific information: { "start": 2097152, "length": 1048576, "depth": 0, "present": false, "zero": false, "data": false}, { "start": 3145728, "length": 7340032, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}] +=== bitmap command fails to modify image already in use === + +qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock +Is another process using the image [TEST_DIR/t.qcow2]? + === Check handling of inconsistent bitmap === image: TEST_DIR/t.IMGFMT It would be nice to test more than --add. I guess the implementation is shared but if someone change it the test will protect us. Reviewed-by: Nir Soffer
[PATCH for-6.1?] iotest: Further enhance qemu-img-bitmaps
Add a regression test to make sure we detect attempts to use 'qemu-img bitmap' to modify an in-use local file. Suggested-by: Nir Soffer Signed-off-by: Eric Blake --- Sadly, this missed my bitmaps pull request today. If there's any reason to respin that pull request, I'm inclined to add this in, as it just touches the iotests; otherwise, if it slips to 6.2 it's not too bad. tests/qemu-iotests/tests/qemu-img-bitmaps | 6 ++ tests/qemu-iotests/tests/qemu-img-bitmaps.out | 5 + 2 files changed, 11 insertions(+) diff --git a/tests/qemu-iotests/tests/qemu-img-bitmaps b/tests/qemu-iotests/tests/qemu-img-bitmaps index 7a3fe8c3d37a..3b6fade11735 100755 --- a/tests/qemu-iotests/tests/qemu-img-bitmaps +++ b/tests/qemu-iotests/tests/qemu-img-bitmaps @@ -129,6 +129,12 @@ $QEMU_IMG map --output=json --image-opts \ $QEMU_IMG map --output=json --image-opts \ "$IMG,x-dirty-bitmap=qemu:dirty-bitmap:b3" | _filter_qemu_img_map +echo +echo "=== bitmap command fails to modify image already in use ===" +echo + +$QEMU_IMG bitmap --add "$TEST_IMG" b4 2>&1 | _filter_testdir + nbd_server_stop echo diff --git a/tests/qemu-iotests/tests/qemu-img-bitmaps.out b/tests/qemu-iotests/tests/qemu-img-bitmaps.out index e851f0320ecb..c6e12dd700aa 100644 --- a/tests/qemu-iotests/tests/qemu-img-bitmaps.out +++ b/tests/qemu-iotests/tests/qemu-img-bitmaps.out @@ -116,6 +116,11 @@ Format specific information: { "start": 2097152, "length": 1048576, "depth": 0, "present": false, "zero": false, "data": false}, { "start": 3145728, "length": 7340032, "depth": 0, "present": true, "zero": false, "data": true, "offset": OFFSET}] +=== bitmap command fails to modify image already in use === + +qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock +Is another process using the image [TEST_DIR/t.qcow2]? + === Check handling of inconsistent bitmap === image: TEST_DIR/t.IMGFMT -- 2.31.1