diff options
author | Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> | 2012-06-14 13:58:18 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2012-06-15 14:03:44 +0200 |
commit | d551cd50a43b9998c7aa562db7c567f557fb58fd (patch) | |
tree | 650bd0a224cb1de9fc7c917b7bd7a5145e8dc2ad | |
parent | 1b2eff62fcd5c68607a239a89b1389da3db2a540 (diff) | |
download | qemu-d551cd50a43b9998c7aa562db7c567f557fb58fd.zip qemu-d551cd50a43b9998c7aa562db7c567f557fb58fd.tar.gz qemu-d551cd50a43b9998c7aa562db7c567f557fb58fd.tar.bz2 |
qemu-iotests: add 036 autoclear feature bit test
This new test validates the autoclear feature bit behavior. When QEMU
opens a qcow2v3 image file with an unknown autoclear feature bit the bit
should be cleared in the image file header.
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rwxr-xr-x | tests/qemu-iotests/036 | 68 | ||||
-rw-r--r-- | tests/qemu-iotests/036.out | 52 | ||||
-rw-r--r-- | tests/qemu-iotests/group | 1 |
3 files changed, 121 insertions, 0 deletions
diff --git a/tests/qemu-iotests/036 b/tests/qemu-iotests/036 new file mode 100755 index 0000000..329533e --- /dev/null +++ b/tests/qemu-iotests/036 @@ -0,0 +1,68 @@ +#!/bin/bash +# +# Test that qcow2 unknown autoclear feature bits are cleared +# +# Copyright (C) 2011 Red Hat, Inc. +# Copyright IBM, Corp. 2010 +# +# Based on test 031. +# +# 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=stefanha@linux.vnet.ibm.com + +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 + +# This tests qcow2-specific low-level functionality +_supported_fmt qcow2 +_supported_proto generic +_supported_os Linux + +# Only qcow2v3 and later supports feature bits +IMGOPTS="compat=1.1" + +echo === Create image with unknown autoclear feature bit === +echo +_make_test_img 64M +./qcow2.py $TEST_IMG set-feature-bit autoclear 63 +./qcow2.py $TEST_IMG dump-header + +echo +echo === Repair image === +echo +$QEMU_IMG check -r all $TEST_IMG +./qcow2.py $TEST_IMG dump-header + +# success, all done +echo "*** done" +rm -f $seq.full +status=0 diff --git a/tests/qemu-iotests/036.out b/tests/qemu-iotests/036.out new file mode 100644 index 0000000..6953e37 --- /dev/null +++ b/tests/qemu-iotests/036.out @@ -0,0 +1,52 @@ +QA output created by 036 +=== Create image with unknown autoclear feature bit === + +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 +magic 0x514649fb +version 3 +backing_file_offset 0x0 +backing_file_size 0x0 +cluster_bits 16 +size 67108864 +crypt_method 0 +l1_size 1 +l1_table_offset 0x30000 +refcount_table_offset 0x10000 +refcount_table_clusters 1 +nb_snapshots 0 +snapshot_offset 0x0 +incompatible_features 0x0 +compatible_features 0x0 +autoclear_features 0x8000000000000000 +refcount_order 4 +header_length 104 + + +=== Repair image === + +No errors were found on the image. +magic 0x514649fb +version 3 +backing_file_offset 0x0 +backing_file_size 0x0 +cluster_bits 16 +size 67108864 +crypt_method 0 +l1_size 1 +l1_table_offset 0x30000 +refcount_table_offset 0x10000 +refcount_table_clusters 1 +nb_snapshots 0 +snapshot_offset 0x0 +incompatible_features 0x0 +compatible_features 0x0 +autoclear_features 0x0 +refcount_order 4 +header_length 104 + +Header extension: +magic 0x6803f857 +length 0 +data '' + +*** done diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group index 14230ce..7a2c92b 100644 --- a/tests/qemu-iotests/group +++ b/tests/qemu-iotests/group @@ -42,5 +42,6 @@ 033 rw auto 034 rw auto backing 035 rw auto quick +036 rw auto quick 037 rw auto backing 038 rw auto backing |