xref: /qemu/tests/qemu-iotests/036 (revision d551cd50a43b9998c7aa562db7c567f557fb58fd)
1*d551cd50SStefan Hajnoczi#!/bin/bash
2*d551cd50SStefan Hajnoczi#
3*d551cd50SStefan Hajnoczi# Test that qcow2 unknown autoclear feature bits are cleared
4*d551cd50SStefan Hajnoczi#
5*d551cd50SStefan Hajnoczi# Copyright (C) 2011 Red Hat, Inc.
6*d551cd50SStefan Hajnoczi# Copyright IBM, Corp. 2010
7*d551cd50SStefan Hajnoczi#
8*d551cd50SStefan Hajnoczi# Based on test 031.
9*d551cd50SStefan Hajnoczi#
10*d551cd50SStefan Hajnoczi# This program is free software; you can redistribute it and/or modify
11*d551cd50SStefan Hajnoczi# it under the terms of the GNU General Public License as published by
12*d551cd50SStefan Hajnoczi# the Free Software Foundation; either version 2 of the License, or
13*d551cd50SStefan Hajnoczi# (at your option) any later version.
14*d551cd50SStefan Hajnoczi#
15*d551cd50SStefan Hajnoczi# This program is distributed in the hope that it will be useful,
16*d551cd50SStefan Hajnoczi# but WITHOUT ANY WARRANTY; without even the implied warranty of
17*d551cd50SStefan Hajnoczi# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*d551cd50SStefan Hajnoczi# GNU General Public License for more details.
19*d551cd50SStefan Hajnoczi#
20*d551cd50SStefan Hajnoczi# You should have received a copy of the GNU General Public License
21*d551cd50SStefan Hajnoczi# along with this program.  If not, see <http://www.gnu.org/licenses/>.
22*d551cd50SStefan Hajnoczi#
23*d551cd50SStefan Hajnoczi
24*d551cd50SStefan Hajnoczi# creator
25*d551cd50SStefan Hajnocziowner=stefanha@linux.vnet.ibm.com
26*d551cd50SStefan Hajnoczi
27*d551cd50SStefan Hajnocziseq=`basename $0`
28*d551cd50SStefan Hajnocziecho "QA output created by $seq"
29*d551cd50SStefan Hajnoczi
30*d551cd50SStefan Hajnoczihere=`pwd`
31*d551cd50SStefan Hajnoczitmp=/tmp/$$
32*d551cd50SStefan Hajnoczistatus=1	# failure is the default!
33*d551cd50SStefan Hajnoczi
34*d551cd50SStefan Hajnoczi_cleanup()
35*d551cd50SStefan Hajnoczi{
36*d551cd50SStefan Hajnoczi	_cleanup_test_img
37*d551cd50SStefan Hajnoczi}
38*d551cd50SStefan Hajnoczitrap "_cleanup; exit \$status" 0 1 2 3 15
39*d551cd50SStefan Hajnoczi
40*d551cd50SStefan Hajnoczi# get standard environment, filters and checks
41*d551cd50SStefan Hajnoczi. ./common.rc
42*d551cd50SStefan Hajnoczi. ./common.filter
43*d551cd50SStefan Hajnoczi. ./common.pattern
44*d551cd50SStefan Hajnoczi
45*d551cd50SStefan Hajnoczi# This tests qcow2-specific low-level functionality
46*d551cd50SStefan Hajnoczi_supported_fmt qcow2
47*d551cd50SStefan Hajnoczi_supported_proto generic
48*d551cd50SStefan Hajnoczi_supported_os Linux
49*d551cd50SStefan Hajnoczi
50*d551cd50SStefan Hajnoczi# Only qcow2v3 and later supports feature bits
51*d551cd50SStefan HajnocziIMGOPTS="compat=1.1"
52*d551cd50SStefan Hajnoczi
53*d551cd50SStefan Hajnocziecho === Create image with unknown autoclear feature bit ===
54*d551cd50SStefan Hajnocziecho
55*d551cd50SStefan Hajnoczi_make_test_img 64M
56*d551cd50SStefan Hajnoczi./qcow2.py $TEST_IMG set-feature-bit autoclear 63
57*d551cd50SStefan Hajnoczi./qcow2.py $TEST_IMG dump-header
58*d551cd50SStefan Hajnoczi
59*d551cd50SStefan Hajnocziecho
60*d551cd50SStefan Hajnocziecho === Repair image ===
61*d551cd50SStefan Hajnocziecho
62*d551cd50SStefan Hajnoczi$QEMU_IMG check -r all $TEST_IMG
63*d551cd50SStefan Hajnoczi./qcow2.py $TEST_IMG dump-header
64*d551cd50SStefan Hajnoczi
65*d551cd50SStefan Hajnoczi# success, all done
66*d551cd50SStefan Hajnocziecho "*** done"
67*d551cd50SStefan Hajnoczirm -f $seq.full
68*d551cd50SStefan Hajnoczistatus=0
69