mirror of
https://github.com/qemu/qemu.git
synced 2024-12-05 09:43:44 +08:00
325dd915b2
streamOptimized does not support writes that do not span exactly one cluster. Furthermore, it cannot rewrite already allocated clusters. As such, many iotests do not work with it. Disable them. Signed-off-by: Max Reitz <mreitz@redhat.com> Message-id: 20190815153638.4600-6-mreitz@redhat.com Reviewed-by: John Snow <jsnow@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
74 lines
1.7 KiB
Bash
Executable File
74 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Test for AIO allocation on the same cluster
|
|
#
|
|
# Copyright (C) 2009 Red Hat, Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
# creator
|
|
owner=kwolf@redhat.com
|
|
|
|
seq=`basename $0`
|
|
echo "QA output created by $seq"
|
|
|
|
status=1 # failure is the default!
|
|
|
|
_cleanup()
|
|
{
|
|
_cleanup_test_img
|
|
}
|
|
trap "_cleanup; exit \$status" 0 1 2 3 15
|
|
|
|
# get standard environment, filters and checks
|
|
. ./common.rc
|
|
. ./common.filter
|
|
|
|
_supported_fmt generic
|
|
_supported_proto generic
|
|
_unsupported_imgopts "subformat=streamOptimized"
|
|
|
|
|
|
size=6G
|
|
|
|
echo
|
|
echo "creating image"
|
|
_make_test_img $size
|
|
|
|
|
|
echo
|
|
echo "overlapping I/O"
|
|
for ((i=1;i<=10;i++)); do
|
|
let mb=1024*1024
|
|
let off1=$i*$mb
|
|
let off2=$off1+512
|
|
|
|
# Note that we filter away the actual offset. That's because qemu
|
|
# may re-order the two aio requests. We only want to make sure the
|
|
# filesystem isn't corrupted afterwards anyway.
|
|
$QEMU_IO -c "aio_write $off1 1M" -c "aio_write $off2 1M" "$TEST_IMG" | \
|
|
_filter_qemu_io | \
|
|
sed -e 's/bytes at offset [0-9]*/bytes at offset XXX/g'
|
|
done
|
|
|
|
echo
|
|
echo "checking image for errors"
|
|
_check_test_img
|
|
|
|
# success, all done
|
|
echo "*** done"
|
|
rm -f $seq.full
|
|
status=0
|