All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, peter.maydell@linaro.org, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 30/33] qemu-iotests: amend with external data file
Date: Fri,  8 Mar 2019 13:58:20 +0100	[thread overview]
Message-ID: <20190308125823.32535-31-kwolf@redhat.com> (raw)
In-Reply-To: <20190308125823.32535-1-kwolf@redhat.com>

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 tests/qemu-iotests/061     | 45 ++++++++++++++++++-
 tests/qemu-iotests/061.out | 89 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 133 insertions(+), 1 deletion(-)

diff --git a/tests/qemu-iotests/061 b/tests/qemu-iotests/061
index d2e68c0203..d7dbd7e2c7 100755
--- a/tests/qemu-iotests/061
+++ b/tests/qemu-iotests/061
@@ -28,7 +28,8 @@ status=1	# failure is the default!
 
 _cleanup()
 {
-	_cleanup_test_img
+    _cleanup_test_img
+    rm -f $TEST_IMG.data
 }
 trap "_cleanup; exit \$status" 0 1 2 3 15
 
@@ -250,6 +251,48 @@ $QEMU_IMG snapshot -c foo "$TEST_IMG"
 $QEMU_IMG amend -p -o "compat=0.10" "$TEST_IMG"
 _check_test_img
 
+echo
+echo "=== Testing version downgrade with external data file ==="
+echo
+IMGOPTS="compat=1.1,data_file=$TEST_IMG.data" _make_test_img 64M
+$QEMU_IMG amend -o "compat=0.10" "$TEST_IMG"
+_img_info --format-specific
+_check_test_img
+
+echo
+echo "=== Try changing the external data file ==="
+echo
+IMGOPTS="compat=1.1" _make_test_img 64M
+$QEMU_IMG amend -o "data_file=foo" "$TEST_IMG"
+
+echo
+IMGOPTS="compat=1.1,data_file=$TEST_IMG.data" _make_test_img 64M
+$QEMU_IMG amend -o "data_file=foo" "$TEST_IMG"
+_img_info --format-specific
+TEST_IMG="data-file.filename=$TEST_IMG.data,file.filename=$TEST_IMG" _img_info --format-specific --image-opts
+
+echo
+$QEMU_IMG amend -o "data_file=" --image-opts "data-file.filename=$TEST_IMG.data,file.filename=$TEST_IMG"
+_img_info --format-specific
+TEST_IMG="data-file.filename=$TEST_IMG.data,file.filename=$TEST_IMG" _img_info --format-specific --image-opts
+
+echo
+echo "=== Clearing and setting data-file-raw ==="
+echo
+IMGOPTS="compat=1.1,data_file=$TEST_IMG.data,data_file_raw=on" _make_test_img 64M
+$QEMU_IMG amend -o "data_file_raw=on" "$TEST_IMG"
+_img_info --format-specific
+_check_test_img
+
+$QEMU_IMG amend -o "data_file_raw=off" "$TEST_IMG"
+_img_info --format-specific
+_check_test_img
+
+$QEMU_IMG amend -o "data_file_raw=on" "$TEST_IMG"
+_img_info --format-specific
+_check_test_img
+
+
 # success, all done
 echo "*** done"
 rm -f $seq.full
diff --git a/tests/qemu-iotests/061.out b/tests/qemu-iotests/061.out
index 758284011b..9fe1ec702f 100644
--- a/tests/qemu-iotests/061.out
+++ b/tests/qemu-iotests/061.out
@@ -488,4 +488,93 @@ wrote 65536/65536 bytes at offset 3221225472
 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
     (0.00/100%)\r    (6.25/100%)\r    (12.50/100%)\r    (18.75/100%)\r    (25.00/100%)\r    (31.25/100%)\r    (37.50/100%)\r    (43.75/100%)\r    (50.00/100%)\r    (56.25/100%)\r    (62.50/100%)\r    (68.75/100%)\r    (75.00/100%)\r    (81.25/100%)\r    (87.50/100%)\r    (93.75/100%)\r    (100.00/100%)\r    (100.00/100%)
 No errors were found on the image.
+
+=== Testing version downgrade with external data file ===
+
+Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data
+qemu-img: Cannot downgrade an image with a data file
+image: TEST_DIR/t.IMGFMT
+file format: IMGFMT
+virtual size: 64M (67108864 bytes)
+cluster_size: 65536
+Format specific information:
+    compat: 1.1
+    lazy refcounts: false
+    refcount bits: 16
+    data file: TEST_DIR/t.IMGFMT.data
+    data file raw: false
+    corrupt: false
+No errors were found on the image.
+
+=== Try changing the external data file ===
+
+Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
+qemu-img: data-file can only be set for images that use an external data file
+
+Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data
+qemu-img: Could not open 'TEST_DIR/t.IMGFMT': Could not open 'foo': No such file or directory
+image: TEST_DIR/t.IMGFMT
+file format: IMGFMT
+virtual size: 64M (67108864 bytes)
+cluster_size: 65536
+Format specific information:
+    compat: 1.1
+    lazy refcounts: false
+    refcount bits: 16
+    data file: foo
+    data file raw: false
+    corrupt: false
+
+qemu-img: Could not open 'TEST_DIR/t.IMGFMT': 'data-file' is required for this image
+image: TEST_DIR/t.IMGFMT
+file format: IMGFMT
+virtual size: 64M (67108864 bytes)
+cluster_size: 65536
+Format specific information:
+    compat: 1.1
+    lazy refcounts: false
+    refcount bits: 16
+    data file raw: false
+    corrupt: false
+
+=== Clearing and setting data-file-raw ===
+
+Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data data_file_raw=on
+image: TEST_DIR/t.IMGFMT
+file format: IMGFMT
+virtual size: 64M (67108864 bytes)
+cluster_size: 65536
+Format specific information:
+    compat: 1.1
+    lazy refcounts: false
+    refcount bits: 16
+    data file: TEST_DIR/t.IMGFMT.data
+    data file raw: true
+    corrupt: false
+No errors were found on the image.
+image: TEST_DIR/t.IMGFMT
+file format: IMGFMT
+virtual size: 64M (67108864 bytes)
+cluster_size: 65536
+Format specific information:
+    compat: 1.1
+    lazy refcounts: false
+    refcount bits: 16
+    data file: TEST_DIR/t.IMGFMT.data
+    data file raw: false
+    corrupt: false
+No errors were found on the image.
+qemu-img: data-file-raw cannot be set on existing images
+image: TEST_DIR/t.IMGFMT
+file format: IMGFMT
+virtual size: 64M (67108864 bytes)
+cluster_size: 65536
+Format specific information:
+    compat: 1.1
+    lazy refcounts: false
+    refcount bits: 16
+    data file: TEST_DIR/t.IMGFMT.data
+    data file raw: false
+    corrupt: false
+No errors were found on the image.
 *** done
-- 
2.20.1

  parent reply	other threads:[~2019-03-08 12:59 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-08 12:57 [Qemu-devel] [PULL 00/33] Block layer patches Kevin Wolf
2019-03-08 12:57 ` [Qemu-devel] [PULL 01/33] iotests: use iotests.VM in 238 Kevin Wolf
2019-03-08 12:57 ` [Qemu-devel] [PULL 02/33] qcow2: Default to 4KB for the qcow2 cache entry size Kevin Wolf
2019-03-08 12:57 ` [Qemu-devel] [PULL 03/33] iotests: open notrun files in text mode Kevin Wolf
2019-03-08 12:57 ` [Qemu-devel] [PULL 04/33] block: iterate_format with account of whitelisting Kevin Wolf
2019-03-08 12:57 ` [Qemu-devel] [PULL 05/33] iotests: ask QEMU for supported formats Kevin Wolf
2019-03-08 12:57 ` [Qemu-devel] [PULL 06/33] iotests: check whitelisted formats Kevin Wolf
2019-03-08 12:57 ` [Qemu-devel] [PULL 07/33] tests/multiboot: Improve portability by searching bash in the $PATH Kevin Wolf
2019-03-08 12:57 ` [Qemu-devel] [PULL 08/33] tests/bios-tables: " Kevin Wolf
2019-03-08 12:57 ` [Qemu-devel] [PULL 09/33] qemu-iotests: " Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 10/33] qemu-iotests: Ensure GNU sed is used Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 11/33] qemu-iotests: Test qcow2 preallocation modes Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 12/33] qcow2: Simplify preallocation code Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 13/33] qcow2: Extend spec for external data files Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 14/33] qcow2: Basic definitions " Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 15/33] qcow2: Pass bs to qcow2_get_cluster_type() Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 16/33] qcow2: Prepare qcow2_get_cluster_type() for external data file Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 17/33] qcow2: Prepare count_contiguous_clusters() " Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 18/33] qcow2: Don't assume 0 is an invalid cluster offset Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 19/33] qcow2: Return 0/-errno in qcow2_alloc_compressed_cluster_offset() Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 20/33] qcow2: Prepare qcow2_co_block_status() for data file Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 21/33] qcow2: External file I/O Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 22/33] qcow2: Return error for snapshot operation with data file Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 23/33] qcow2: Support external data file in qemu-img check Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 24/33] qcow2: Add basic data-file infrastructure Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 25/33] qcow2: Creating images with external data file Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 26/33] qcow2: Store data file name in the image Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 27/33] qcow2: Implement data-file-raw create option Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 28/33] qemu-iotests: Preallocation with external data file Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 29/33] qemu-iotests: General tests for qcow2 " Kevin Wolf
2019-03-08 12:58 ` Kevin Wolf [this message]
2019-03-08 12:58 ` [Qemu-devel] [PULL 31/33] ahci-test: Add dependency to qemu-img tool Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 32/33] qemu-iotests: Add dependency to qemu-nbd tool Kevin Wolf
2019-03-08 12:58 ` [Qemu-devel] [PULL 33/33] qcow2 spec: Describe string header extensions Kevin Wolf
2019-03-09 17:35 ` [Qemu-devel] [PULL 00/33] Block layer patches 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=20190308125823.32535-31-kwolf@redhat.com \
    --to=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.