1 #!/usr/bin/env bash 2 # 3 # Create, read, write big image 4 # 5 # Copyright (C) 2014 Red Hat, Inc. 6 # 7 # This program is free software; you can redistribute it and/or modify 8 # it under the terms of the GNU General Public License as published by 9 # the Free Software Foundation; either version 2 of the License, or 10 # (at your option) any later version. 11 # 12 # This program is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 # GNU General Public License for more details. 16 # 17 # You should have received a copy of the GNU General Public License 18 # along with this program. If not, see <http://www.gnu.org/licenses/>. 19 # 20 21 # creator 22 owner=famz@redhat.com 23 24 seq=`basename $0` 25 echo "QA output created by $seq" 26 27 status=1 # failure is the default! 28 29 _cleanup() 30 { 31 _cleanup_test_img 32 } 33 trap "_cleanup; exit \$status" 0 1 2 3 15 34 35 # get standard environment, filters and checks 36 . ./common.rc 37 . ./common.filter 38 39 _supported_fmt qcow2 vmdk vhdx qed 40 _supported_proto generic 41 _unsupported_imgopts "subformat=twoGbMaxExtentFlat" \ 42 "subformat=twoGbMaxExtentSparse" 43 44 echo 45 echo "creating large image" 46 _make_test_img 16T 47 48 echo 49 echo "small read" 50 $QEMU_IO -c "read 1024 4096" "$TEST_IMG" | _filter_qemu_io 51 52 echo 53 echo "small write" 54 $QEMU_IO -c "write 8192 4096" "$TEST_IMG" | _filter_qemu_io 55 56 echo 57 echo "small read at high offset" 58 $QEMU_IO -c "read 14T 4096" "$TEST_IMG" | _filter_qemu_io 59 60 echo 61 echo "small write at high offset" 62 $QEMU_IO -c "write 14T 4096" "$TEST_IMG" | _filter_qemu_io 63 64 # success, all done 65 echo "*** done" 66 rm -f $seq.full 67 status=0 68