qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: Maxim Levitsky <mlevitsk@redhat.com>, qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [PATCH v2 05/21] iotests: Replace IMGOPTS by _unsupported_imgopts
Date: Thu, 7 Nov 2019 10:08:05 +0100	[thread overview]
Message-ID: <7e3bbbb8-416b-eae9-7e51-a816045b83dd@redhat.com> (raw)
In-Reply-To: <4d3ed1468e966b14aa5b6453327be0710bc26ed7.camel@redhat.com>


[-- Attachment #1.1: Type: text/plain, Size: 2855 bytes --]

On 06.11.19 16:45, Maxim Levitsky wrote:
> On Tue, 2019-10-15 at 16:27 +0200, Max Reitz wrote:
>> Some tests require compat=1.1 and thus set IMGOPTS='compat=1.1'
>> globally.  That is not how it should be done; instead, they should
>> simply set _unsupported_imgopts to compat=0.10 (compat=1.1 is the
>> default anyway).
>>
>> This makes the tests heed user-specified $IMGOPTS.  Some do not work
>> with all image options, though, so we need to disable them accordingly.
>>
>> Signed-off-by: Max Reitz <mreitz@redhat.com>
>> ---
>>  tests/qemu-iotests/036 | 3 +--
>>  tests/qemu-iotests/060 | 4 ++--
>>  tests/qemu-iotests/062 | 3 ++-
>>  tests/qemu-iotests/066 | 3 ++-
>>  tests/qemu-iotests/068 | 3 ++-
>>  tests/qemu-iotests/098 | 4 ++--
>>  6 files changed, 11 insertions(+), 9 deletions(-)
>>
>> diff --git a/tests/qemu-iotests/036 b/tests/qemu-iotests/036
>> index 5f929ad3be..bbaf0ef45b 100755
>> --- a/tests/qemu-iotests/036
>> +++ b/tests/qemu-iotests/036
>> @@ -43,9 +43,8 @@ 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
>> -IMGOPTS="compat=1.1"
>> +_unsupported_imgopts 'compat=0.10'
>>  
>>  echo
>>  echo === Image with unknown incompatible feature bit ===
>> diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060
>> index b91d8321bb..9c2ef42522 100755
>> --- a/tests/qemu-iotests/060
>> +++ b/tests/qemu-iotests/060
>> @@ -48,6 +48,8 @@ _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]\|$\)\)'
> Looks like the reason for that is that the test hardcodes (or guesses that is) various qcow2 structures
> thing I have seen few times already in the iotests.
> Not now but sometime in the future it would be nice to extend qcow2.py (or something
> like that) to dump location of all qcow2 structures so that the guesswork could be eliminated.

With the peek_file* functions we have now it’s actually simple to dump
that location ($(peek_file_be "$TEST_IMG" 48 8) for the refcount table
offset, for example).

But it wouldn’t help, because compat=0.10 or refcount_bits != 16 won’t
change those locations.  So the locations aren’t the reason why we need
to forbid those options here.

The reason we need refcount_bits=16 is that we’re going to directly
manipulate a refcount block.  To do so, we need to know the refcount
width, and I don’t think it’s worth trying to implement something generic.

We need compat=1.1 because compat=0.10 doesn’t have feature bits, so
there’s no “corrupt” bit there.

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2019-11-07  9:11 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-15 14:27 [PATCH v2 00/21] iotests: Allow ./check -o data_file Max Reitz
2019-10-15 14:27 ` [PATCH v2 01/21] iotests/qcow2.py: Add dump-header-exts Max Reitz
2019-11-06 15:37   ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 02/21] iotests/qcow2.py: Split feature fields into bits Max Reitz
2019-11-06 15:37   ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 03/21] iotests: Add _filter_json_filename Max Reitz
2019-11-06 15:44   ` Maxim Levitsky
2019-11-07  8:59     ` Max Reitz
2019-11-07 10:01       ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 04/21] iotests: Filter refcount_order in 036 Max Reitz
2019-11-06 15:45   ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 05/21] iotests: Replace IMGOPTS by _unsupported_imgopts Max Reitz
2019-11-06 15:45   ` Maxim Levitsky
2019-11-07  9:08     ` Max Reitz [this message]
2019-11-07  9:56       ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 06/21] iotests: Drop compat=1.1 in 050 Max Reitz
2019-10-15 14:27 ` [PATCH v2 07/21] iotests: Let _make_test_img parse its parameters Max Reitz
2019-10-15 14:27 ` [PATCH v2 08/21] iotests: Add -o and --no-opts to _make_test_img Max Reitz
2019-10-15 14:27 ` [PATCH v2 09/21] iotests: Inject space into -ocompat=0.10 in 051 Max Reitz
2019-10-15 14:27 ` [PATCH v2 10/21] iotests: Replace IMGOPTS= by -o Max Reitz
2019-11-06 15:47   ` Maxim Levitsky
2019-11-07  9:20     ` Max Reitz
2019-11-07  9:52       ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 11/21] iotests: Replace IMGOPTS='' by --no-opts Max Reitz
2019-10-15 14:27 ` [PATCH v2 12/21] iotests: Drop IMGOPTS use in 267 Max Reitz
2019-11-06 15:50   ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 13/21] iotests: Avoid qemu-img create Max Reitz
2019-10-15 14:27 ` [PATCH v2 14/21] iotests: Use _rm_test_img for deleting test images Max Reitz
2019-11-06 15:47   ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 15/21] iotests: Avoid cp/mv of " Max Reitz
2019-10-15 14:27 ` [PATCH v2 16/21] iotests: Make 091 work with data_file Max Reitz
2019-11-06 15:50   ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 17/21] iotests: Make 110 " Max Reitz
2019-11-06 15:50   ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 18/21] iotests: Make 137 " Max Reitz
2019-11-06 15:51   ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 19/21] iotests: Make 198 " Max Reitz
2019-11-06 15:51   ` Maxim Levitsky
2019-10-15 14:27 ` [PATCH v2 20/21] iotests: Disable data_file where it cannot be used Max Reitz
2019-11-06 15:52   ` Maxim Levitsky
2019-11-07 11:36     ` Max Reitz
2019-11-07 15:19       ` Maxim Levitsky
2019-11-07 16:55         ` Max Reitz
2019-10-15 14:27 ` [PATCH v2 21/21] iotests: Allow check -o data_file Max Reitz
2019-11-06 15:52   ` Maxim Levitsky
2019-10-16  0:19 ` [PATCH v2 00/21] iotests: Allow ./check " no-reply
2019-10-16  7:18   ` Max Reitz
2019-11-06 15:52 ` Maxim Levitsky

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=7e3bbbb8-416b-eae9-7e51-a816045b83dd@redhat.com \
    --to=mreitz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mlevitsk@redhat.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).