qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 11/11] iotests/257: test traditional sync mod


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH v2 11/11] iotests/257: test traditional sync modes
Date: Tue, 16 Jul 2019 14:04:35 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2

On 16.07.19 02:01, John Snow wrote:
> Signed-off-by: John Snow <address@hidden>
> ---
>  tests/qemu-iotests/257     |   41 +-
>  tests/qemu-iotests/257.out | 3089 ++++++++++++++++++++++++++++++++++++
>  2 files changed, 3128 insertions(+), 2 deletions(-)

This needs a %s/specify Bitmap sync mode/specify bitmap sync mode/.

> diff --git a/tests/qemu-iotests/257 b/tests/qemu-iotests/257
> index 53ab31c92e..c2a72c577a 100755
> --- a/tests/qemu-iotests/257
> +++ b/tests/qemu-iotests/257

[...]

> @@ -393,7 +399,7 @@ def test_bitmap_sync(bsync_mode, msync_mode='bitmap', 
> failure=None):
>              # group 1 gets cleared first, then group two gets written.
>              if ((bsync_mode == 'on-success' and not failure) or
>                  (bsync_mode == 'always')):
> -                ebitmap.clear_group(1)
> +                ebitmap.clear()

Hmmm...  Why?

>              ebitmap.dirty_group(2)
>  
>          vm.run_job(job, auto_dismiss=True, auto_finalize=False,
> @@ -404,8 +410,19 @@ def test_bitmap_sync(bsync_mode, msync_mode='bitmap', 
> failure=None):
>          log('')
>  
>          if bsync_mode == 'always' and failure == 'intermediate':
> +            # TOP treats anything allocated as dirty, expect to see:
> +            if msync_mode == 'top':
> +                ebitmap.dirty_group(0)
> +
>              # We manage to copy one sector (one bit) before the error.
>              ebitmap.clear_bit(ebitmap.first_bit)
> +
> +            # Full returns all bits set except what was copied/skipped
> +            if msync_mode == 'full':
> +                fail_bit = ebitmap.first_bit
> +                ebitmap.clear()
> +                ebitmap.dirty_bits(range(fail_bit, SIZE // GRANULARITY))
> +

So sync=top didn‘t copy anything?  Is that because it now errors out
before getting to copy something?

(The rest looks good to me.)

Max

>          ebitmap.compare(get_bitmap(bitmaps, drive0.device, 'bitmap0'))
>  
>          # 2 - Writes and Reference Backup

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]