qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH 2/2][qemu-iotests] test bdrv_truncate()


From: Kevin Wolf
Subject: [Qemu-devel] Re: [PATCH 2/2][qemu-iotests] test bdrv_truncate()
Date: Mon, 26 Apr 2010 09:08:49 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc12 Thunderbird/3.0.4

Am 24.04.2010 10:20, schrieb Stefan Hajnoczi:
> This patch adds an image resize grow test to ensure that existing data
> is not lost during grow and new space is zeroed.
> 
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> ---
>  025     |   73 
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  025.out |   25 +++++++++++++++++++++
>  group   |    1 +
>  3 files changed, 99 insertions(+), 0 deletions(-)
>  create mode 100755 025
>  create mode 100644 025.out
> 
> diff --git a/025 b/025
> new file mode 100755
> index 0000000..09e5b4d
> --- /dev/null
> +++ b/025
> @@ -0,0 +1,73 @@
> +#!/bin/bash
> +#
> +# Resizing images
> +#
> +# Copyright (C) 2010 IBM, Corp.
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +#
> +
> +# creator
> address@hidden
> +
> +seq=`basename $0`
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1     # failure is the default!
> +
> +_cleanup()
> +{
> +     _cleanup_test_img
> +}
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +# get standard environment, filters and checks
> +. ./common.rc
> +. ./common.filter
> +. ./common.pattern
> +
> +_supported_fmt raw qcow2
> +_supported_os Linux
> +
> +echo "=== Creating image"
> +echo
> +small_size=$((128 * 1024 * 1024))
> +big_size=$((384 * 1024 * 1024))
> +_make_test_img $small_size
> +
> +echo
> +echo "=== Writing whole image"
> +io_pattern write 0 $small_size 0 1 0xc5
> +_check_test_img
> +
> +echo
> +echo "=== Resizing image"
> +$QEMU_IO -c "truncate $big_size" $TEST_IMG
> +_check_test_img

Here we could extend the test to check if the right image size is used
if the image isn't re-opened. Something like this:

$QEMU_IO $TEST_IMG <<EOF
length
truncate $big_size
length
EOF

Otherwise the test case looks good to me. We'll probably want another
one for shrinking images once this is supported by qcow2.

Kevin




reply via email to

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