btrfs-progs: misc-tests: add a test case to make sure uuid is correctly reported

The new test case will execute "btrfs subvolume list -u" on the newly
create btrfs.

Since the v0 root item is already deprecated for a long time, newly
created btrfs should be already using the new root item, thus "btrfs
subvolume list -u" should always report the correct uuid.

The test case relies on external program "uuidparse" which should be
provided by util-linux.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Qu Wenruo 2022-12-27 13:55:08 +08:00 committed by David Sterba
parent b7e3acd615
commit c339846763

View File

@ -0,0 +1,28 @@
#!/bin/bash
#
# Make sure "btrfs subvolume list -u" shows uuid correctly
source "$TEST_TOP/common"
check_prereq mkfs.btrfs
check_prereq btrfs
check_global_prereq uuidparse
setup_root_helper
prepare_test_dev
tmp=$(_mktemp_dir list_uuid)
run_check_mkfs_test_dev
run_check_mount_test_dev
run_check $SUDO_HELPER "$TOP/btrfs" subvolume create "$TEST_MNT/subv1"
run_check_stdout $SUDO_HELPER "$TOP/btrfs" subvolume list -u "$TEST_MNT" | \
cut -d\ -f9 > "$tmp/output"
result=$(cat "$tmp/output" | uuidparse -o TYPE -n)
rm -rf -- "$tmp"
if [ "$result" == "invalid" ]; then
_fail "subvolume list failed to report uuid"
fi
run_check_umount_test_dev