From a6be831e99f89d72a8c4a114347d5512c326af29 Mon Sep 17 00:00:00 2001 From: "Denis V. Lunev" Date: Tue, 28 Apr 2015 10:46:54 +0300 Subject: [PATCH] iotests, parallels: check for incorrectly closed image in tests Signed-off-by: Denis V. Lunev Reviewed-by: Roman Kagan Reviewed-by: Stefan Hajnoczi Signed-off-by: Roman Kagan Message-id: 1430207220-24458-22-git-send-email-den@openvz.org CC: Kevin Wolf Signed-off-by: Stefan Hajnoczi --- tests/qemu-iotests/131 | 9 +++++++++ tests/qemu-iotests/131.out | 17 +++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/tests/qemu-iotests/131 b/tests/qemu-iotests/131 index f45afa72d6..4873f40e94 100755 --- a/tests/qemu-iotests/131 +++ b/tests/qemu-iotests/131 @@ -42,6 +42,8 @@ _supported_fmt parallels _supported_proto file _supported_os Linux +inuse_offset=$((0x2c)) + size=64M CLUSTER_SIZE=64k IMGFMT=parallels @@ -62,6 +64,13 @@ echo == check that there is no trash after written == echo == check that there is no trash before written == { $QEMU_IO -c "read -P 0 0 32k" "$TEST_IMG"; } 2>&1 | _filter_qemu_io | _filter_testdir +echo "== Corrupt image ==" +poke_file "$TEST_IMG" "$inuse_offset" "\x59\x6e\x6f\x74" +{ $QEMU_IO -c "read -P 0x11 64k 64k" "$TEST_IMG"; } 2>&1 | _filter_qemu_io | _filter_testdir +_check_test_img +_check_test_img -r all +{ $QEMU_IO -c "read -P 0x11 64k 64k" "$TEST_IMG"; } 2>&1 | _filter_qemu_io | _filter_testdir + # success, all done echo "*** done" rm -f $seq.full diff --git a/tests/qemu-iotests/131.out b/tests/qemu-iotests/131.out index 4158a2f520..021a04c812 100644 --- a/tests/qemu-iotests/131.out +++ b/tests/qemu-iotests/131.out @@ -21,4 +21,21 @@ read 32768/32768 bytes at offset 163840 == check that there is no trash before written == read 32768/32768 bytes at offset 0 32 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +== Corrupt image == +qemu-io: can't open device TEST_DIR/t.parallels: parallels: Image was not closed correctly; cannot be opened read/write +no file open, try 'help open' +ERROR image was not closed correctly + +1 errors were found on the image. +Data may be corrupted, or further writes to the image may corrupt it. +Repairing image was not closed correctly +The following inconsistencies were found and repaired: + + 0 leaked clusters + 1 corruptions + +Double checking the fixed image now... +No errors were found on the image. +read 65536/65536 bytes at offset 65536 +64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) *** done