qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] iotests: Make 150 use qemu-img map instead of d


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] iotests: Make 150 use qemu-img map instead of du
Date: Fri, 8 Apr 2016 12:30:07 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0


On 29/03/2016 18:24, Max Reitz wrote:
> The actual on-disk size of a file does not only depend on factors qemu
> can control. Thus, we should not depend on this to determine whether a
> file has indeed been fully allocated. Instead, use qemu-img map and hope
> that if an area is referenced, it is indeed allocated, too.
> 
> Also, limit the supported image formats to raw and qcow2 because the
> actual qemu-img map output may depend on the image format.
> 
> Signed-off-by: Max Reitz <address@hidden>
> ---
>  tests/qemu-iotests/150     | 41 +++++------------------------------------
>  tests/qemu-iotests/150.out | 13 +++++--------
>  2 files changed, 10 insertions(+), 44 deletions(-)
> 
> diff --git a/tests/qemu-iotests/150 b/tests/qemu-iotests/150
> index 97d2a35..665373d 100755
> --- a/tests/qemu-iotests/150
> +++ b/tests/qemu-iotests/150
> @@ -38,65 +38,34 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
>  . ./common.rc
>  . ./common.filter
>  
> -_supported_fmt generic
> +_supported_fmt raw qcow2
>  _supported_proto file
>  _supported_os Linux
>  
>  
> -on_disk_size()
> -{
> -    du "$@" | sed -e 's/\t\+.*//'
> -}
> -
> -
>  img_size=1048576
>  
>  
>  echo
> -echo '=== Comparing empty image against sparse conversion ==='
> +echo '=== Mapping sparse conversion ==='
>  echo
>  
> -_make_test_img $img_size
> -
> -empty_size=$(on_disk_size "$TEST_IMG")
> -
> -
>  $QEMU_IMG_PROG convert -O "$IMGFMT" -S 512 \
>      "json:{ 'driver': 'null-co', 'size': $img_size, 'read-zeroes': true }" \
>      "$TEST_IMG"
>  
> -sparse_convert_size=$(on_disk_size "$TEST_IMG")
> -
> -
> -if [ "$empty_size" -eq "$sparse_convert_size" ]; then
> -    echo 'Equal image size'
> -else
> -    echo 'Different image size'
> -fi
> +$QEMU_IMG map "$TEST_IMG" | _filter_qemu_img_map
>  
>  
>  echo
> -echo '=== Comparing full image against non-sparse conversion ==='
> +echo '=== Mapping non-sparse conversion ==='
>  echo
>  
> -_make_test_img $img_size
> -$QEMU_IO -c "write 0 $img_size" "$TEST_IMG" | _filter_qemu_io
> -
> -full_size=$(on_disk_size "$TEST_IMG")
> -
> -
>  $QEMU_IMG convert -O "$IMGFMT" -S 0 \
>      "json:{ 'driver': 'null-co', 'size': $img_size, 'read-zeroes': true }" \
>      "$TEST_IMG"
>  
> -non_sparse_convert_size=$(on_disk_size "$TEST_IMG")
> -
> -
> -if [ "$full_size" -eq "$non_sparse_convert_size" ]; then
> -    echo 'Equal image size'
> -else
> -    echo 'Different image size'
> -fi
> +$QEMU_IMG map "$TEST_IMG" | _filter_qemu_img_map
>  
>  
>  # success, all done
> diff --git a/tests/qemu-iotests/150.out b/tests/qemu-iotests/150.out
> index 2d29da1..2a54e8d 100644
> --- a/tests/qemu-iotests/150.out
> +++ b/tests/qemu-iotests/150.out
> @@ -1,14 +1,11 @@
>  QA output created by 150
>  
> -=== Comparing empty image against sparse conversion ===
> +=== Mapping sparse conversion ===
>  
> -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
> -Equal image size
> +Offset          Length          File
>  
> -=== Comparing full image against non-sparse conversion ===
> +=== Mapping non-sparse conversion ===
>  
> -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576
> -wrote 1048576/1048576 bytes at offset 0
> -1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
> -Equal image size
> +Offset          Length          File
> +0               0x100000        TEST_DIR/t.IMGFMT
>  *** done
> 

Tested-by: Paolo Bonzini <address@hidden>



reply via email to

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