btrfs-progs: Use sparse files for filesystem conversion tests

On my system, this brings the FS conversion test suite's runtime from over
ten seconds down to under two.

Thanks to Julien Muchembled for the suggestion.

Signed-off-by: Adam Buchbinder <abuchbinder@google.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
This commit is contained in:
Adam Buchbinder 2014-06-12 09:08:33 -07:00 committed by David Sterba
parent 978542ff59
commit 4156fadc53

View File

@ -13,15 +13,16 @@ _fail()
} }
rm -f convert-tests-results.txt rm -f convert-tests-results.txt
rm -f test.img
test(){ test(){
echo " [TEST] $1" echo " [TEST] $1"
shift shift
echo "creating ext image with: $*" >> convert-tests-results.txt echo "creating ext image with: $*" >> convert-tests-results.txt
# 256MB is the smallest acceptable btrfs image. # 256MB is the smallest acceptable btrfs image.
dd if=/dev/zero of=$here/test.img bs=1024 count=$((256*1024)) \ rm -f $here/test.img >> convert-tests-results.txt 2>&1 \
>> convert-tests-results.txt 2>&1 || _fail "dd failed" || _fail "could not remove test image file"
truncate -s 256M $here/test.img >> convert-tests-results.txt 2>&1 \
|| _fail "could not create test image file"
$* -F $here/test.img >> convert-tests-results.txt 2>&1 \ $* -F $here/test.img >> convert-tests-results.txt 2>&1 \
|| _fail "filesystem create failed" || _fail "filesystem create failed"
$here/btrfs-convert $here/test.img >> convert-tests-results.txt 2>&1 \ $here/btrfs-convert $here/test.img >> convert-tests-results.txt 2>&1 \
@ -30,6 +31,7 @@ test(){
|| _fail "btrfsck detected errors" || _fail "btrfsck detected errors"
} }
test "ext2, 4k blocksize" mke2fs -b 4096 # btrfs-convert requires 4k blocksize.
test "ext3, 4k blocksize" mke2fs -j -b 4096 test "ext2" mke2fs -b 4096
test "ext4, 4k blocksize" mke2fs -t ext4 -b 4096 test "ext3" mke2fs -j -b 4096
test "ext4" mke2fs -t ext4 -b 4096