|
|
1.1 ! root 1: #!/bin/bash ! 2: # ! 3: # Let a few AIO requests run in parallel and have them access different L2 ! 4: # tables so that the cache has a chance to get used up. ! 5: # ! 6: # Copyright (C) 2012 Red Hat, Inc. ! 7: # ! 8: # This program is free software; you can redistribute it and/or modify ! 9: # it under the terms of the GNU General Public License as published by ! 10: # the Free Software Foundation; either version 2 of the License, or ! 11: # (at your option) any later version. ! 12: # ! 13: # This program is distributed in the hope that it will be useful, ! 14: # but WITHOUT ANY WARRANTY; without even the implied warranty of ! 15: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 16: # GNU General Public License for more details. ! 17: # ! 18: # You should have received a copy of the GNU General Public License ! 19: # along with this program. If not, see <http://www.gnu.org/licenses/>. ! 20: # ! 21: ! 22: # creator ! 23: [email protected] ! 24: ! 25: seq=`basename $0` ! 26: echo "QA output created by $seq" ! 27: ! 28: here=`pwd` ! 29: tmp=/tmp/$$ ! 30: status=1 # failure is the default! ! 31: ! 32: _cleanup() ! 33: { ! 34: _cleanup_test_img ! 35: } ! 36: trap "_cleanup; exit \$status" 0 1 2 3 15 ! 37: ! 38: # get standard environment, filters and checks ! 39: . ./common.rc ! 40: . ./common.filter ! 41: ! 42: _supported_fmt qcow2 ! 43: _supported_proto generic ! 44: _supported_os Linux ! 45: ! 46: ! 47: size=6G ! 48: CLUSTER_SIZE=512 ! 49: ! 50: echo ! 51: echo "creating image" ! 52: _make_test_img $size ! 53: ! 54: function generate_requests() { ! 55: for i in $(seq 0 63); do ! 56: echo "aio_write ${i}M 512" ! 57: echo "aio_write ${i}M 512" ! 58: echo "aio_write ${i}M 512" ! 59: done ! 60: } ! 61: ! 62: generate_requests | $QEMU_IO $TEST_IMG | _filter_qemu_io |\ ! 63: sed -e 's/bytes at offset [0-9]*/bytes at offset XXX/g' ! 64: ! 65: echo ! 66: echo "checking image for errors" ! 67: _check_test_img ! 68: ! 69: # success, all done ! 70: echo "*** done" ! 71: rm -f $seq.full ! 72: status=0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.