aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2024-01-31 11:07:57 +0100
committerDavid Sterba <dsterba@suse.com>2024-01-31 11:07:57 +0100
commit0f89b1d09879f5dd7492f3a11621004b45bafffd (patch)
tree3b770e3c447e569ef96472f38a42ec8a283053e0
parentcb740b3dfb97f09e458c4e0bcfd87a6f5d1e7a33 (diff)
downloadbtrfs-progs-0f89b1d09879f5dd7492f3a11621004b45bafffd.tar.gz
btrfs-progs: tests: verify filesystem show on a raw device mapper path
Signed-off-by: David Sterba <dsterba@suse.com>
-rwxr-xr-xtests/misc-tests/062-fi-show-raw-dm-all-devices/test.sh51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/misc-tests/062-fi-show-raw-dm-all-devices/test.sh b/tests/misc-tests/062-fi-show-raw-dm-all-devices/test.sh
new file mode 100755
index 00000000..a2e8745a
--- /dev/null
+++ b/tests/misc-tests/062-fi-show-raw-dm-all-devices/test.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+# Verify that filesystem show -d on a raw device mapper path still recognizes
+# the filesystem
+
+source "$TEST_TOP/common" || exit
+
+check_prereq mkfs.btrfs
+check_global_prereq udevadm
+check_dm_target_support linear
+
+setup_root_helper
+prepare_test_dev
+
+# Randomize last 4 characters to prevent clashes of device name on the same system
+chars=( {0..9} {a..z} {A..Z} )
+rand=${chars[$RANDOM % 62]}${chars[$RANDOM % 62]}${chars[$RANDOM % 62]}${chars[$RANDOM % 62]}
+
+# prep device
+dmname=btrfs-test-device-"$rand"
+dmdev="/dev/mapper/$dmname"
+
+_mktemp_local img 2g
+
+loopdev=`run_check_stdout $SUDO_HELPER losetup --find --show img`
+run_check $SUDO_HELPER dmsetup create "$dmname" --table "0 1048576 linear $loopdev 0"
+
+# Setting up the device may need some time to appear
+run_check $SUDO_HELPER udevadm settle
+if ! [ -b "$dmdev" ]; then
+ _not_run "dm device created but not visible in /dev/mapper"
+fi
+
+dmraw=`readlink -f "$dmdev"`
+
+# test
+run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f "$@" "$dmdev"
+run_check $SUDO_HELPER udevadm settle
+
+run_check $SUDO_HELPER lsblk
+
+run_check $SUDO_HELPER "$TOP/btrfs" filesystem show
+run_check $SUDO_HELPER "$TOP/btrfs" filesystem show "$dmdev"
+run_check $SUDO_HELPER "$TOP/btrfs" filesystem show --all-devices "$dmdev"
+run_check $SUDO_HELPER "$TOP/btrfs" filesystem show "$dmraw"
+run_check $SUDO_HELPER "$TOP/btrfs" filesystem show --all-devices "$dmraw"
+
+# cleanup
+run_check $SUDO_HELPER dmsetup remove "$dmname"
+run_mayfail $SUDO_HELPER losetup -d "$loopdev"
+run_check truncate -s0 img
+rm img