Statistics
| Branch: | Revision:

root / tests / qemu-iotests / 007 @ b3ce604e

History | View | Annotate | Download (1.7 kB)

1 908eaf68 Stefan Hajnoczi
#!/bin/bash
2 6bf19c94 Christoph Hellwig
#
3 6bf19c94 Christoph Hellwig
# Check for one possible case of qcow2 refcount corruption.
4 6bf19c94 Christoph Hellwig
#
5 6bf19c94 Christoph Hellwig
# Copyright (C) 2009 Red Hat, Inc.
6 6bf19c94 Christoph Hellwig
#
7 6bf19c94 Christoph Hellwig
# This program is free software; you can redistribute it and/or modify
8 6bf19c94 Christoph Hellwig
# it under the terms of the GNU General Public License as published by
9 6bf19c94 Christoph Hellwig
# the Free Software Foundation; either version 2 of the License, or
10 6bf19c94 Christoph Hellwig
# (at your option) any later version.
11 6bf19c94 Christoph Hellwig
#
12 6bf19c94 Christoph Hellwig
# This program is distributed in the hope that it will be useful,
13 6bf19c94 Christoph Hellwig
# but WITHOUT ANY WARRANTY; without even the implied warranty of
14 6bf19c94 Christoph Hellwig
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 6bf19c94 Christoph Hellwig
# GNU General Public License for more details.
16 6bf19c94 Christoph Hellwig
#
17 6bf19c94 Christoph Hellwig
# You should have received a copy of the GNU General Public License
18 e8c212d6 Christoph Hellwig
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 6bf19c94 Christoph Hellwig
#
20 6bf19c94 Christoph Hellwig
21 6bf19c94 Christoph Hellwig
# creator
22 6bf19c94 Christoph Hellwig
owner=kwolf@redhat.com
23 6bf19c94 Christoph Hellwig
24 6bf19c94 Christoph Hellwig
seq=`basename $0`
25 6bf19c94 Christoph Hellwig
echo "QA output created by $seq"
26 6bf19c94 Christoph Hellwig
27 6bf19c94 Christoph Hellwig
here=`pwd`
28 6bf19c94 Christoph Hellwig
tmp=/tmp/$$
29 6bf19c94 Christoph Hellwig
status=1	# failure is the default!
30 6bf19c94 Christoph Hellwig
31 6bf19c94 Christoph Hellwig
_cleanup()
32 6bf19c94 Christoph Hellwig
{
33 6bf19c94 Christoph Hellwig
#	_cleanup_test_img
34 6bf19c94 Christoph Hellwig
	true
35 6bf19c94 Christoph Hellwig
}
36 6bf19c94 Christoph Hellwig
trap "_cleanup; exit \$status" 0 1 2 3 15
37 6bf19c94 Christoph Hellwig
38 6bf19c94 Christoph Hellwig
# get standard environment, filters and checks
39 6bf19c94 Christoph Hellwig
. ./common.rc
40 6bf19c94 Christoph Hellwig
. ./common.filter
41 6bf19c94 Christoph Hellwig
42 6bf19c94 Christoph Hellwig
# currently only qcow2 allows for consistency checks using qemu-img
43 6bf19c94 Christoph Hellwig
_supported_fmt qcow2
44 9cdfa1b3 MORITA Kazutaka
_supported_proto generic
45 6bf19c94 Christoph Hellwig
_supported_os Linux
46 6bf19c94 Christoph Hellwig
47 6bf19c94 Christoph Hellwig
echo
48 6bf19c94 Christoph Hellwig
echo "creating image"
49 6bf19c94 Christoph Hellwig
_make_test_img 1M
50 6bf19c94 Christoph Hellwig
51 6bf19c94 Christoph Hellwig
for i in `seq 1 10`; do
52 6bf19c94 Christoph Hellwig
    echo "savevm $i"
53 6bf19c94 Christoph Hellwig
    # XXX(hch): adding -nographic would be good, but hangs the test
54 6bf19c94 Christoph Hellwig
    $QEMU -hda $TEST_IMG -monitor stdio >/dev/null 2>&1 <<EOF     
55 6bf19c94 Christoph Hellwig
savevm test-$i                                                              
56 6bf19c94 Christoph Hellwig
quit                                                                        
57 6bf19c94 Christoph Hellwig
EOF
58 6bf19c94 Christoph Hellwig
done
59 6bf19c94 Christoph Hellwig
60 6bf19c94 Christoph Hellwig
echo
61 6bf19c94 Christoph Hellwig
echo "checking image for errors"
62 6bf19c94 Christoph Hellwig
_check_test_img
63 6bf19c94 Christoph Hellwig
64 6bf19c94 Christoph Hellwig
# success, all done
65 6bf19c94 Christoph Hellwig
echo "*** done"
66 6bf19c94 Christoph Hellwig
rm -f $seq.full
67 6bf19c94 Christoph Hellwig
status=0