mirror of
https://github.com/qemu/qemu.git
synced 2025-08-14 20:31:47 +00:00

Blue Swirl notices that we were using the old FSF post address in the license boilerplates. Replace both the old and new address with links to the gnu.org licenses homepage as suggested by Ben Pfaff. Signed-off-by: Christoph Hellwig <hch@lst.de>
84 lines
2.4 KiB
Bash
Executable File
84 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Combined test to grow the refcount table and test snapshots.
|
|
#
|
|
# Copyright (C) 2009 Red Hat, Inc.
|
|
#
|
|
# 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
|
|
owner=kwolf@redhat.com
|
|
|
|
seq=`basename $0`
|
|
echo "QA output created by $seq"
|
|
|
|
here=`pwd`
|
|
tmp=/tmp/$$
|
|
status=1 # failure is the default!
|
|
|
|
_cleanup()
|
|
{
|
|
_cleanup_test_img
|
|
true
|
|
}
|
|
trap "_cleanup; exit \$status" 0 1 2 3 15
|
|
|
|
# get standard environment, filters and checks
|
|
. ./common.rc
|
|
. ./common.filter
|
|
|
|
# actually any format that supports snapshots
|
|
_supported_fmt qcow2
|
|
_supported_os Linux
|
|
|
|
echo
|
|
echo "creating image"
|
|
|
|
# With 1k clusters a refcount block contains 512 clusters
|
|
# This makes 512k of the image file covered by a refcount block
|
|
# A refcount table that spans one clusters has 128 refcount
|
|
# tables which makes up 64M in the image file.
|
|
#
|
|
# We use a 36M image, so initially we can be sure that only one cluster is used
|
|
# for the refcount table. On the other hand this is big enough to cause a
|
|
# refcount table growth when rewriting the image after creating one snapshot.
|
|
size=36M
|
|
_make_test_img -o cluster_size=1k $size
|
|
|
|
# Create two snapshots which fill the image with two different patterns
|
|
echo "creating first snapshot"
|
|
$QEMU_IO -c "aio_write -P 123 0 $size" $TEST_IMG | _filter_qemu_io
|
|
$QEMU_IMG snapshot -c snap1 $TEST_IMG
|
|
echo "creating second snapshot"
|
|
$QEMU_IO -c "aio_write -P 165 0 $size" $TEST_IMG | _filter_qemu_io
|
|
$QEMU_IMG snapshot -c snap2 $TEST_IMG
|
|
|
|
# Now check the pattern
|
|
echo "checking first snapshot"
|
|
$QEMU_IMG snapshot -a snap1 $TEST_IMG
|
|
$QEMU_IO -c "aio_read -P 123 0 $size" $TEST_IMG | _filter_qemu_io
|
|
echo "checking second snapshot"
|
|
$QEMU_IMG snapshot -a snap2 $TEST_IMG
|
|
$QEMU_IO -c "aio_read -P 165 0 $size" $TEST_IMG | _filter_qemu_io
|
|
|
|
echo
|
|
echo "checking image for errors"
|
|
_check_test_img
|
|
|
|
# success, all done
|
|
echo "*** done"
|
|
rm -f $seq.full
|
|
status=0
|