|
|
1.1 ! root 1: #!/bin/bash ! 2: # ! 3: # qcow2 pattern test, complex patterns including compression and snapshots ! 4: # Using patterns for 4k cluster size. ! 5: # ! 6: # ! 7: # Copyright (C) 2009 Red Hat, Inc. ! 8: # ! 9: # This program is free software; you can redistribute it and/or modify ! 10: # it under the terms of the GNU General Public License as published by ! 11: # the Free Software Foundation; either version 2 of the License, or ! 12: # (at your option) any later version. ! 13: # ! 14: # This program is distributed in the hope that it will be useful, ! 15: # but WITHOUT ANY WARRANTY; without even the implied warranty of ! 16: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 17: # GNU General Public License for more details. ! 18: # ! 19: # You should have received a copy of the GNU General Public License ! 20: # along with this program. If not, see <http://www.gnu.org/licenses/>. ! 21: # ! 22: ! 23: # creator ! 24: [email protected] ! 25: ! 26: seq=`basename $0` ! 27: echo "QA output created by $seq" ! 28: ! 29: here=`pwd` ! 30: tmp=/tmp/$$ ! 31: status=1 # failure is the default! ! 32: ! 33: _cleanup() ! 34: { ! 35: _cleanup_test_img ! 36: } ! 37: trap "_cleanup; exit \$status" 0 1 2 3 15 ! 38: ! 39: # get standard environment, filters and checks ! 40: . ./common.rc ! 41: . ./common.filter ! 42: . ./common.pattern ! 43: ! 44: # much of this could be generic for any format supporting snapshots ! 45: _supported_fmt qcow2 ! 46: _supported_proto generic ! 47: _supported_os Linux ! 48: ! 49: TEST_OFFSETS="0 4294967296" ! 50: TEST_OPS="writev read write readv" ! 51: CLUSTER_SIZE=4096 ! 52: ! 53: _make_test_img 6G ! 54: ! 55: echo "Testing empty image:" ! 56: for offset in $TEST_OFFSETS; do ! 57: echo test2: With offset $offset ! 58: io_test2 $offset $CLUSTER_SIZE 256 ! 59: _check_test_img ! 60: done ! 61: ! 62: # With snapshots ! 63: for i in `seq 1 3`; do ! 64: $QEMU_IMG snapshot -c test$i $TEST_IMG ! 65: for offset in $TEST_OFFSETS; do ! 66: echo With snapshot test$i, offset $offset ! 67: for op in $TEST_OPS; do ! 68: io_test $op $offset $CLUSTER_SIZE 8 ! 69: done ! 70: _check_test_img ! 71: done ! 72: done ! 73: ! 74: # success, all done ! 75: echo "*** done" ! 76: rm -f $seq.full ! 77: status=0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.