aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMax Reitz <mreitz@redhat.com>2017-11-10 21:37:59 +0100
committerMax Reitz <mreitz@redhat.com>2018-01-23 12:34:42 +0100
commitac5b787a6ee57852021e4a5a6876759218fbbbb0 (patch)
treef807b20f911cbf545479b0d2f3b727adbe55b7ed /tests
parent7c3a3028596db5e142c6fc9644800a0ec3b073fd (diff)
downloadqemu-ac5b787a6ee57852021e4a5a6876759218fbbbb0.zip
qemu-ac5b787a6ee57852021e4a5a6876759218fbbbb0.tar.gz
qemu-ac5b787a6ee57852021e4a5a6876759218fbbbb0.tar.bz2
qcow2: Repair unaligned preallocated zero clusters
We can easily repair unaligned preallocated zero clusters by discarding them, so why not do it? Signed-off-by: Max Reitz <mreitz@redhat.com> Message-id: 20171110203759.14018-2-mreitz@redhat.com Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'tests')
-rwxr-xr-xtests/qemu-iotests/0603
-rw-r--r--tests/qemu-iotests/060.out9
2 files changed, 11 insertions, 1 deletions
diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060
index 14797dd..6c7407f 100755
--- a/tests/qemu-iotests/060
+++ b/tests/qemu-iotests/060
@@ -335,7 +335,8 @@ poke_file "$TEST_IMG" "$l2_offset" "\x80\x00\x00\x00\x00\x00\x2a\x01"
# Let's write to it!
$QEMU_IO -c "write 0 64k" "$TEST_IMG" | _filter_qemu_io
-# Can't repair this yet (TODO: We can just deallocate the cluster)
+echo '--- Repairing ---'
+_check_test_img -r all
echo
echo '=== Discarding with an unaligned refblock ==='
diff --git a/tests/qemu-iotests/060.out b/tests/qemu-iotests/060.out
index c4cb7c6..25d5c39 100644
--- a/tests/qemu-iotests/060.out
+++ b/tests/qemu-iotests/060.out
@@ -317,6 +317,15 @@ discard 65536/65536 bytes at offset 0
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
qcow2: Marking image as corrupt: Preallocated zero cluster offset 0x2a00 unaligned (guest offset: 0); further corruption events will be suppressed
write failed: Input/output error
+--- Repairing ---
+Repairing offset=2a00: Preallocated zero cluster is not properly aligned; L2 entry corrupted.
+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.
=== Discarding with an unaligned refblock ===