btrfs-progs: tests: mkfs and extra large devices

Test case for mkfs to handle if total device size overflows 16EiB. The
device images are created inside temporary btrfs so this works on any
underlying filesystem (unlike NFS or tmpfs).

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
[ split test from original patch and update to work on any filesystem ]
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Jeff Mahoney 2019-08-27 16:54:50 +02:00 committed by David Sterba
parent d29f475108
commit 893934258d
1 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,24 @@
#!/bin/bash
# test if mkfs.btrfs will create file systems that overflow total_bytes
source "$TEST_TOP/common"
check_prereq mkfs.btrfs
check_prereq btrfs
setup_root_helper
prepare_test_dev
# create a temporary btrfs filesystem for the images to make sure the
# exabyte-scale files will be reliably created
run_check_mkfs_test_dev
run_check_mount_test_dev
run_check $SUDO_HELPER truncate -s 6E "$TEST_MNT/img1"
run_check $SUDO_HELPER truncate -s 6E "$TEST_MNT/img2"
run_check $SUDO_HELPER truncate -s 6E "$TEST_MNT/img3"
run_mustfail "mkfs for too-large images" \
$SUDO_HELPER "$TOP/mkfs.btrfs" -f "$TEST_MNT"/img[123]
run_check_umount_test_dev