iotests: Disable data_file where it cannot be used

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-id: 20191107163708.833192-22-mreitz@redhat.com
[mreitz: Also disable 273]
Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
Max Reitz 2019-11-07 17:37:07 +01:00
parent 39d2c7dc8f
commit 3be2024aef
44 changed files with 127 additions and 53 deletions

View File

@ -41,8 +41,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto generic
# refcount_bits must be at least 4 so we can create ten internal snapshots
# (1 bit supports none, 2 bits support two, 4 bits support 14)
_unsupported_imgopts 'refcount_bits=\(1\|2\)[^0-9]'
# (1 bit supports none, 2 bits support two, 4 bits support 14);
# snapshot are generally impossible with external data files
_unsupported_imgopts 'refcount_bits=\(1\|2\)[^0-9]' data_file
echo
echo "creating image"

View File

@ -43,6 +43,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# Compression and snapshots do not work with external data files
_unsupported_imgopts data_file
TEST_OFFSETS="0 4294967296"
TEST_OPS="writev read write readv"

View File

@ -40,8 +40,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
# actually any format that supports snapshots
_supported_fmt qcow2
_supported_proto generic
# Internal snapshots are (currently) impossible with refcount_bits=1
_unsupported_imgopts 'refcount_bits=1[^0-9]'
# Internal snapshots are (currently) impossible with refcount_bits=1,
# and generally impossible with external data files
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file
echo
echo "creating image"

View File

@ -49,7 +49,10 @@ _supported_cache_modes writethrough none
# 32 and 64 bits do not work either, however, due to different leaked cluster
# count on error.
# Thus, the only remaining option is refcount_bits=16.
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
#
# As for data_file, none of the refcount tests can work for it.
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' \
data_file
echo "Errors while writing 128 kB"
echo

View File

@ -42,8 +42,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto generic
_unsupported_proto vxhs
# Internal snapshots are (currently) impossible with refcount_bits=1
_unsupported_imgopts 'refcount_bits=1[^0-9]'
# Internal snapshots are (currently) impossible with refcount_bits=1,
# and generally impossible with external data files
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file
offset_size=24
offset_l1_size=36

View File

@ -40,9 +40,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
# This tests qcow2-specific low-level functionality
_supported_fmt qcow2
_supported_proto file
# We want to test compat=0.10, which does not support refcount widths
# other than 16
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
# We want to test compat=0.10, which does not support external data
# files or refcount widths other than 16
_unsupported_imgopts data_file 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
CLUSTER_SIZE=65536

View File

@ -43,8 +43,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
# This tests qcow2-specific low-level functionality
_supported_fmt qcow2
_supported_proto file
# Only qcow2v3 and later supports feature bits
_unsupported_imgopts 'compat=0.10'
# Only qcow2v3 and later supports feature bits;
# qcow2.py does not support external data files
_unsupported_imgopts 'compat=0.10' data_file
echo
echo === Image with unknown incompatible feature bit ===

View File

@ -44,6 +44,9 @@ _supported_proto file
_supported_os Linux
_default_cache_mode writethrough
_supported_cache_modes writethrough
# Some of these test cases expect no external data file so that all
# clusters are part of the qcow2 image and refcounted
_unsupported_imgopts data_file
size=128M

View File

@ -38,6 +38,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
# data_file does not support compressed clusters
_unsupported_imgopts data_file
CLUSTER_SIZE=64k
size=128M

View File

@ -49,6 +49,8 @@ _compare()
_supported_fmt raw qcow2 qed luks
_supported_proto file
_supported_os Linux
# Using 'cp' is incompatible with external data files
_unsupported_imgopts data_file
# Remove once all tests are fixed to use TEST_IMG_FILE
# correctly and common.rc sets it unconditionally

View File

@ -39,8 +39,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
# A compat=0.10 image is created in this test which does not support anything
# other than refcount_bits=16
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
# other than refcount_bits=16;
# it also will not support an external data file
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' data_file
_require_drivers nbd
do_run_qemu()

View File

@ -56,8 +56,9 @@ _supported_fmt qcow2
_supported_proto file
_supported_os Linux
_require_command QEMU_NBD
# Internal snapshots are (currently) impossible with refcount_bits=1
_unsupported_imgopts 'refcount_bits=1[^0-9]'
# Internal snapshots are (currently) impossible with refcount_bits=1,
# and generally impossible with external data files
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file
nbd_snapshot_img="nbd:unix:$nbd_unix_socket"

View File

@ -48,8 +48,10 @@ _filter_io_error()
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# These tests only work for compat=1.1 images with refcount_bits=16
_unsupported_imgopts 'compat=0.10' 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
# These tests only work for compat=1.1 images without an external
# data file with refcount_bits=16
_unsupported_imgopts 'compat=0.10' data_file \
'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
# The repair process will create a large file - so check for availability first
_require_large_file 64G

View File

@ -42,8 +42,10 @@ _supported_fmt qcow2
_supported_proto file
_supported_os Linux
# Conversion between different compat versions can only really work
# with refcount_bits=16
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
# with refcount_bits=16;
# we have explicit tests for data_file here, but the whole test does
# not work with it
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' data_file
echo
echo "=== Testing version downgrade with zero expansion ==="

View File

@ -41,7 +41,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto generic
# We need zero clusters and snapshots
_unsupported_imgopts 'compat=0.10' 'refcount_bits=1[^0-9]'
_unsupported_imgopts 'compat=0.10' 'refcount_bits=1[^0-9]' data_file
IMG_SIZE=64M

View File

@ -40,7 +40,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto generic
# We need zero clusters and snapshots
_unsupported_imgopts 'compat=0.10' 'refcount_bits=1[^0-9]'
# (TODO: Consider splitting the snapshot part into a separate test
# file, so this one runs with refcount_bits=1 and data_file)
_unsupported_imgopts 'compat=0.10' 'refcount_bits=1[^0-9]' data_file
# Intentionally create an unaligned image
IMG_SIZE=$((64 * 1024 * 1024 + 512))

View File

@ -32,8 +32,10 @@ status=1 # failure is the default!
_supported_fmt qcow2
_supported_proto file
# Because anything other than 16 would change the output of query-block
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
# Because anything other than 16 would change the output of query-block,
# and external data files would change the output of
# query-named-block-nodes
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' data_file
do_run_qemu()
{

View File

@ -39,8 +39,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
# This tests qcow2-specific low-level functionality
_supported_fmt qcow2
_supported_proto generic
# Internal snapshots are (currently) impossible with refcount_bits=1
_unsupported_imgopts 'compat=0.10' 'refcount_bits=1[^0-9]'
# Internal snapshots are (currently) impossible with refcount_bits=1,
# and generally impossible with external data files
_unsupported_imgopts 'compat=0.10' 'refcount_bits=1[^0-9]' data_file
IMG_SIZE=128K

View File

@ -39,6 +39,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_require_drivers blkdebug blkverify
# blkdebug can only inject errors on bs->file, not on the data_file,
# so thie test does not work with external data files
_unsupported_imgopts data_file
do_run_qemu()
{

View File

@ -39,6 +39,10 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto generic
_unsupported_proto vxhs
# External data files do not support compressed clusters
# (TODO: Consider writing a version for external data files that does
# not test compressed clusters)
_unsupported_imgopts data_file
CLUSTER_SIZE=64k
size=128M

View File

@ -50,6 +50,8 @@ _compare()
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# blkdebug can only inject errors on bs->file
_unsupported_imgopts data_file
# Setup test basic parameters
TEST_IMG2=$TEST_IMG.2

View File

@ -40,9 +40,10 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# - Internal snapshots are (currently) impossible with refcount_bits=1
# - Internal snapshots are (currently) impossible with refcount_bits=1,
# and generally impossible with external data files
# - This is generally a test for compat=1.1 images
_unsupported_imgopts 'refcount_bits=1[^0-9]' 'compat=0.10'
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file 'compat=0.10'
header_size=104

View File

@ -38,6 +38,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file nfs
# External data files do not support compressed clusters
_unsupported_imgopts data_file
IMG_SIZE=128K

View File

@ -40,8 +40,10 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
# The code path we want to test here only works for compat=1.1 images
_unsupported_imgopts 'compat=0.10'
# The code path we want to test here only works for compat=1.1 images;
# blkdebug can only inject errors on bs->file, so external data files
# do not work with this test
_unsupported_imgopts 'compat=0.10' data_file
for event in l1_update empty_image_prepare reftable_update refblock_alloc; do

View File

@ -46,8 +46,9 @@ _supported_fmt qcow qcow2 qed vdi vhdx vmdk vpc
_supported_proto file
_supported_os Linux
_require_drivers blkdebug blkverify
# data_file would change the json:{} filenames
_unsupported_imgopts "subformat=monolithicFlat" "subformat=twoGbMaxExtentFlat" \
"subformat=twoGbMaxExtentSparse"
"subformat=twoGbMaxExtentSparse" data_file
do_run_qemu()
{

View File

@ -38,8 +38,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file nfs
# Internal snapshots are (currently) impossible with refcount_bits=1
_unsupported_imgopts 'refcount_bits=1[^0-9]'
# Internal snapshots are (currently) impossible with refcount_bits=1,
# and generally impossible with external data files
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file
IMG_SIZE=64K

View File

@ -41,8 +41,10 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# This test directly modifies a refblock so it relies on refcount_bits being 16
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
# This test directly modifies a refblock so it relies on refcount_bits being 16;
# and the low-level modification it performs are not tuned for external data
# files
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' data_file
echo
echo '=== Repairing an image without any refcount table ==='

View File

@ -40,8 +40,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
# This test will set refcount_bits on its own which would conflict with the
# manual setting; compat will be overridden as well
_unsupported_imgopts refcount_bits 'compat=0.10'
# manual setting; compat will be overridden as well;
# and external data files do not work well with our refcount testing
_unsupported_imgopts refcount_bits 'compat=0.10' data_file
print_refcount_bits()
{

View File

@ -39,6 +39,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto generic
_unsupported_proto vxhs
# qcow2.py does not work too well with external data files
_unsupported_imgopts data_file
TEST_IMG="$TEST_IMG.base" _make_test_img 64M

View File

@ -39,6 +39,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# Refcount structures are used much differently with external data
# files
_unsupported_imgopts data_file
echo
echo '=== New refcount structures may not conflict with existing structures ==='

View File

@ -40,6 +40,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# With an external data file, data clusters are not refcounted
# (and so qemu-img check does not check their refcount)
_unsupported_imgopts data_file
echo
echo '=== Check on an image with a multiple of 2^32 clusters ==='

View File

@ -51,6 +51,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2 qed
_supported_proto generic
_unsupported_proto vxhs
# Copying files around with cp does not work with external data files
_unsupported_imgopts data_file
# Create source disk
TEST_IMG="$TEST_IMG.backing" _make_test_img 1M

View File

@ -47,8 +47,11 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# Persistent dirty bitmaps require compat=1.1
_unsupported_imgopts 'compat=0.10'
# Persistent dirty bitmaps require compat=1.1;
# Internal snapshots forbid using an external data file
# (they work with refcount_bits=1 here, though, because there actually
# is no data when creating the snapshot)
_unsupported_imgopts 'compat=0.10' data_file
run_qemu()
{

View File

@ -43,6 +43,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
# An external data file would change the query-named-block-nodes output
_unsupported_imgopts data_file
size=64M

View File

@ -43,9 +43,9 @@ _supported_fmt qcow2
_supported_proto generic
_supported_os Linux
# Internal snapshots are (currently) impossible with refcount_bits=1
# This was taken from test 080
_unsupported_imgopts 'refcount_bits=1[^0-9]'
# Internal snapshots are (currently) impossible with refcount_bits=1,
# and generally impossible with external data files
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file
size=64M
_make_test_img $size

View File

@ -39,7 +39,8 @@ _supported_proto file
# Repairing the corrupted image requires qemu-img check to store a
# refcount up to 3, which requires at least two refcount bits.
_unsupported_imgopts 'refcount_bits=1[^0-9]'
# External data files do not support compressed clusters.
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file
echo

View File

@ -40,7 +40,8 @@ _supported_proto file
# This test needs clusters with at least a refcount of 2 so that
# OFLAG_COPIED is not set. refcount_bits=1 is therefore unsupported.
_unsupported_imgopts 'refcount_bits=1[^0-9]'
# (As are external data files.)
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file
echo
echo '=== Simulating an I/O error during snapshot deletion ==='

View File

@ -37,8 +37,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# To use a different refcount width but 16 bits we need compat=1.1
_unsupported_imgopts 'compat=0.10'
# To use a different refcount width but 16 bits we need compat=1.1,
# and external data files do not support compressed clusters.
_unsupported_imgopts 'compat=0.10' data_file
echo "== Creating huge file =="

View File

@ -40,8 +40,10 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# External data files do not work with compat=0.10
_unsupported_imgopts 'compat=0.10'
# External data files do not work with compat=0.10, and because there
# is an explicit case for external data files here, we cannot allow
# the user to specify whether to use one
_unsupported_imgopts 'compat=0.10' data_file
for mode in off metadata falloc full; do

View File

@ -41,8 +41,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# External data files do not work with compat=0.10
_unsupported_imgopts 'compat=0.10'
# External data files do not work with compat=0.10, and because we use
# our own external data file, we cannot let the user specify one
_unsupported_imgopts 'compat=0.10' data_file
echo
echo "=== Create and open image with external data file ==="

View File

@ -39,6 +39,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# This test does not make much sense with external data files
_unsupported_imgopts data_file
# This test checks that qcow2_process_discards does not truncate a discard
# request > 2G.

View File

@ -47,7 +47,8 @@ _supported_os Linux
# (1) We create a v2 image that supports nothing but refcount_bits=16
# (2) We do some refcount management on our own which expects
# refcount_bits=16
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
# As for data files, they do not support snapshots at all.
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' data_file
# Parameters:
# $1: image filename

View File

@ -42,8 +42,9 @@ _supported_proto file
_supported_os Linux
_require_drivers copy-on-read
# Internal snapshots are (currently) impossible with refcount_bits=1
_unsupported_imgopts 'refcount_bits=1[^0-9]'
# Internal snapshots are (currently) impossible with refcount_bits=1,
# and generally impossible with external data files
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file
do_run_qemu()
{

View File

@ -37,6 +37,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
_supported_os Linux
# External data files would add nodes to the block graph, so it would
# not match the reference output
_unsupported_imgopts data_file
do_run_qemu()
{