diff options
Diffstat (limited to 'tests/qemu-iotests/221')
-rwxr-xr-x | tests/qemu-iotests/221 | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/tests/qemu-iotests/221 b/tests/qemu-iotests/221 index 41c4e4bdf8..c463fd4b11 100755 --- a/tests/qemu-iotests/221 +++ b/tests/qemu-iotests/221 @@ -1,8 +1,10 @@ -#!/bin/bash +#!/usr/bin/env bash +# group: rw quick # # Test qemu-img vs. unaligned images +# (See also 253, which is the O_DIRECT version) # -# Copyright (C) 2018 Red Hat, Inc. +# Copyright (C) 2018-2019 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 @@ -21,7 +23,6 @@ seq="$(basename $0)" echo "QA output created by $seq" -here="$PWD" status=1 # failure is the default! _cleanup() @@ -35,23 +36,33 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 . ./common.filter _supported_fmt raw -_supported_proto file +_supported_proto file fuse _supported_os Linux +_default_cache_mode writeback +_supported_cache_modes writeback writethrough unsafe + echo echo "=== Check mapping of unaligned raw image ===" echo -_make_test_img 43009 # qemu-img create rounds size up +_make_test_img 65537 # qemu-img create rounds size up + +# file-posix allocates the first block of any images when it is created; +# the size of this block depends on the host page size and the file +# system block size, none of which are constant. Discard the whole +# image so we will not see this allocation in qemu-img map's output. +$QEMU_IO -c 'discard 0 65537' "$TEST_IMG" | _filter_qemu_io + $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map -truncate --size=43009 "$TEST_IMG" # so we resize it and check again +truncate --size=65537 "$TEST_IMG" # so we resize it and check again $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map -$QEMU_IO -c 'w 43008 1' "$TEST_IMG" | _filter_qemu_io # writing also rounds up +$QEMU_IO -c 'w 65536 1' "$TEST_IMG" | _filter_qemu_io # writing also rounds up $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map -truncate --size=43009 "$TEST_IMG" # so we resize it and check again +truncate --size=65537 "$TEST_IMG" # so we resize it and check again $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map # success, all done |