Commit 5a45da5e authored by Alberto Garcia's avatar Alberto Garcia Committed by Max Reitz
Browse files

qcow2: Add iotest for an image with header.refcount_table_offset == 0



This patch adds a simple iotest in which we try to write to an image
with the refcount table offset set to 0.

This scenario was already handled by the existing consistency checks,
but we add an explicit test case for completeness.

Signed-off-by: default avatarAlberto Garcia <berto@igalia.com>
Message-id: feeceada92486bb8790b90f303fc9fe82a27391a.1509718618.git.berto@igalia.com
Reviewed-by: default avatarMax Reitz <mreitz@redhat.com>
Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
parent 951053a9
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -277,6 +277,13 @@ _make_test_img 64M
poke_file "$TEST_IMG" "56"                "\x00\x00\x00\x00"
$QEMU_IO -c "write 0 64k" "$TEST_IMG" 2>&1 | _filter_testdir | _filter_imgfmt

echo
echo "=== Testing incorrect refcount table offset ==="
echo
_make_test_img 64M
poke_file "$TEST_IMG" "48"                "\x00\x00\x00\x00\x00\x00\x00\x00"
$QEMU_IO -c "write 0 64k" "$TEST_IMG" | _filter_qemu_io

# success, all done
echo "*** done"
rm -f $seq.full
+6 −0
Original line number Diff line number Diff line
@@ -208,4 +208,10 @@ write failed: Input/output error

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
can't open device TEST_DIR/t.IMGFMT: Image does not contain a reference count table

=== Testing incorrect refcount table offset ===

Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
qcow2: Marking image as corrupt: Preventing invalid allocation of L2 table at offset 0; further corruption events will be suppressed
write failed: Input/output error
*** done