btrfs-progs: tests: Add the testcase for subvolume name length limit test

Total of three conditions are tested. One for short name, one with
name length 255, the last one with more than 255.

This case should pass after commit
'btrfs-progs: change filename limit to 255 when creating subvolume'.

Signed-off-by: Su Yanjun <suyj.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
master
Su Yanjun 2018-09-18 16:44:48 +08:00 committed by David Sterba
parent 3ea85fa886
commit b4843d3669
1 changed files with 82 additions and 0 deletions

View File

@ -0,0 +1,82 @@
#!/bin/bash
#
# test file name length limits for subvolumes
source "$TEST_TOP/common"
check_prereq mkfs.btrfs
check_prereq btrfs
setup_root_helper
prepare_test_dev
run_check "$TOP/mkfs.btrfs" -f "$TEST_DEV"
run_check_mount_test_dev
run_check $SUDO_HELPER chmod a+rw "$TEST_MNT"
cd "$TEST_MNT"
longname=\
0123456789\
0123456789\
0123456789\
0123456789\
0123456789\
\
0123456789\
0123456789\
0123456789\
0123456789\
0123456789\
\
0123456789\
0123456789\
0123456789\
0123456789\
0123456789\
\
0123456789\
0123456789\
0123456789\
0123456789\
0123456789\
\
0123456789\
0123456789\
0123456789\
0123456789\
0123456789\
\
01234
# subvolume name length limit test
# short name test
run_check $SUDO_HELPER "$TOP/btrfs" subvolume create subvol
# 255
run_check $SUDO_HELPER "$TOP/btrfs" subvolume create "$longname"
# 256, must fail
run_mustfail "subvolume with name 256 bytes long succeeded" \
$SUDO_HELPER "$TOP/btrfs" subvolume create "$longname"5
# 255*2, must fail
run_mustfail "subvolume with name 2 * 255 bytes long succeeded" \
$SUDO_HELPER "$TOP/btrfs" subvolume create "$longname$longname"
# snapshot name length limit test
run_check $SUDO_HELPER mkdir snaps
# short name test
run_check $SUDO_HELPER "$TOP/btrfs" subvolume snapshot subvol snaps/snap
# 255
run_check $SUDO_HELPER "$TOP/btrfs" subvolume snapshot subvol snaps/"$longname"
# 256, must fail
run_mustfail "snapshot with name 256 bytes long succeeded" \
$SUDO_HELPER "$TOP/btrfs" subvolume snapshot subvol snaps/"$longname"5
# 255*2, must fail
run_mustfail "subvolume with name 2 * 255 bytes long succeeded" \
$SUDO_HELPER "$TOP/btrfs" subvolume snapshot subvol snaps/"$longname$longname"
cd ..
run_check_umount_test_dev