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