qemu-iotests: Preallocation with external data file

Test that preallocating metadata results in a somewhat larger qcow2
file, but preallocating data only affects the disk usage of the data
file and the qcow2 file stays small.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Kevin Wolf 2019-02-21 16:35:52 +01:00
parent 6c3944dc62
commit c35896c5e8
2 changed files with 54 additions and 0 deletions

View File

@ -29,6 +29,7 @@ status=1 # failure is the default!
_cleanup()
{
_cleanup_test_img
rm -f $TEST_IMG.data
}
trap "_cleanup; exit \$status" 0 1 2 3 15
@ -57,6 +58,27 @@ for mode in off metadata falloc full; do
done
for mode in off metadata falloc full; do
echo
echo "=== External data file: preallocation=$mode ==="
echo
IMGOPTS="data_file=$TEST_IMG.data,preallocation=$mode" _make_test_img 64M
echo -n "qcow2 file size: "
du -b $TEST_IMG | cut -f1
echo -n "data file size: "
du -b $TEST_IMG.data | cut -f1
# Can't use precise numbers here because they differ between filesystems
echo -n "qcow2 disk usage: "
[ $(du -B1 $TEST_IMG | cut -f1) -lt 1048576 ] && echo "low" || echo "high"
echo -n "data disk usage: "
[ $(du -B1 $TEST_IMG.data | cut -f1) -lt 1048576 ] && echo "low" || echo "high"
done
# success, all done
echo "*** done"
rm -f $seq.full

View File

@ -23,4 +23,36 @@ Disk usage: high
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 preallocation=full
File size: 67436544
Disk usage: high
=== External data file: preallocation=off ===
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data preallocation=off
qcow2 file size: 196616
data file size: 67108864
qcow2 disk usage: low
data disk usage: low
=== External data file: preallocation=metadata ===
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data preallocation=metadata
qcow2 file size: 327680
data file size: 67108864
qcow2 disk usage: low
data disk usage: low
=== External data file: preallocation=falloc ===
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data preallocation=falloc
qcow2 file size: 327680
data file size: 67108864
qcow2 disk usage: low
data disk usage: high
=== External data file: preallocation=full ===
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 data_file=TEST_DIR/t.IMGFMT.data preallocation=full
qcow2 file size: 327680
data file size: 67108864
qcow2 disk usage: low
data disk usage: high
*** done