All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>, Alberto Garcia <berto@igalia.com>
Subject: [Qemu-devel] [PULL 06/20] qcow2: Add iotest for an empty refcount table
Date: Tue, 14 Nov 2017 18:24:03 +0100	[thread overview]
Message-ID: <20171114172417.7654-7-mreitz@redhat.com> (raw)
In-Reply-To: <20171114172417.7654-1-mreitz@redhat.com>

From: Alberto Garcia <berto@igalia.com>

This patch adds a simple iotest in which we try to write to an image
with an empty refcount table (i.e. with all entries 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: Alberto Garcia <berto@igalia.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 7e48b0e2ae1a0a18e0ee303b3045f130feec0474.1509718618.git.berto@igalia.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 tests/qemu-iotests/060     | 7 +++++++
 tests/qemu-iotests/060.out | 6 ++++++
 2 files changed, 13 insertions(+)

diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060
index dc5a517673..66a8fa4aea 100755
--- a/tests/qemu-iotests/060
+++ b/tests/qemu-iotests/060
@@ -243,6 +243,13 @@ poke_file "$TEST_IMG" "$(($l2_offset+8))" "\x80\x00\x00\x00\x00\x06\x2a\x00"
 $QEMU_IO -c "discard 0 64k" -c "read 64k 64k" "$TEST_IMG" | _filter_qemu_io
 
 echo
+echo "=== Testing empty refcount table ==="
+echo
+_make_test_img 64M
+poke_file "$TEST_IMG" "$rt_offset"        "\x00\x00\x00\x00\x00\x00\x00\x00"
+$QEMU_IO -c "write 0 64k" "$TEST_IMG" | _filter_qemu_io
+
+echo
 echo "=== Testing empty refcount table with valid L1 and L2 tables ==="
 echo
 _make_test_img 64M
diff --git a/tests/qemu-iotests/060.out b/tests/qemu-iotests/060.out
index 98f314c16d..cfd78f87a9 100644
--- a/tests/qemu-iotests/060.out
+++ b/tests/qemu-iotests/060.out
@@ -182,6 +182,12 @@ discard 65536/65536 bytes at offset 0
 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 read failed: Input/output error
 
+=== Testing empty refcount table ===
+
+Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
+qcow2: Marking image as corrupt: Preventing invalid write on metadata (overlaps with refcount table); further corruption events will be suppressed
+write failed: Input/output error
+
 === Testing empty refcount table with valid L1 and L2 tables ===
 
 Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
-- 
2.13.6

  parent reply	other threads:[~2017-11-14 17:24 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-14 17:23 [Qemu-devel] [PULL 00/20] Block patches for 2.11.0-rc1 Max Reitz
2017-11-14 17:23 ` [Qemu-devel] [PULL 01/20] qcow2: Prevent allocating refcount blocks at offset 0 Max Reitz
2017-11-14 17:23 ` [Qemu-devel] [PULL 02/20] qcow2: Prevent allocating L2 tables " Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 03/20] qcow2: Prevent allocating compressed clusters " Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 04/20] qcow2: Don't open images with header.refcount_table_clusters == 0 Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 05/20] qcow2: Add iotest for an image with header.refcount_table_offset " Max Reitz
2017-11-14 17:24 ` Max Reitz [this message]
2017-11-14 17:24 ` [Qemu-devel] [PULL 07/20] qcow2: Assert that the crypto header does not overlap other metadata Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 08/20] iotests: Make 030 less flaky Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 09/20] iotests: Add missing 'blkdebug::' in 040 Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 10/20] iotests: Make 055 less flaky Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 11/20] iotests: Make 083 " Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 12/20] iotests: Make 136 " Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 13/20] iotests: Use new-style NBD connections Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 14/20] qcow2: Check that corrupted images can be repaired in iotest 060 Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 15/20] block/snapshot: dirty all dirty bitmaps on snapshot-switch Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 16/20] iotests: 077: Filter out 'resume' lines Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 17/20] block/vhdx.c: Don't blindly update the header Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 18/20] block/parallels: Do not update header or truncate image when INMIGRATE Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 19/20] block/parallels: add migration blocker Max Reitz
2017-11-14 17:24 ` [Qemu-devel] [PULL 20/20] qemu-iotests: update unsupported image formats in 194 Max Reitz
2017-11-14 17:28 ` [Qemu-devel] [PULL 00/20] Block patches for 2.11.0-rc1 Peter Maydell
2017-11-14 17:31   ` Max Reitz
2017-11-14 18:30 ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171114172417.7654-7-mreitz@redhat.com \
    --to=mreitz@redhat.com \
    --cc=berto@igalia.com \
    --cc=kwolf@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.