Because of udevs complaining device mapper now creates /dev/dm-N as the real
device nodes, and just symlinks the /dev/mapper/ names to it. This would be
easy if everything used the /dev/mapper clear names, but most system utilities
translate them back to the /dev/mapper/ names and thus confuse various test
cases. Add support to _is_block_dev to read symlinks, and add documentation
on how to run xfstests on device mapper volumes.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Index: xfstests-dev/common.rc
===================================================================
--- xfstests-dev.orig/common.rc 2011-05-03 08:26:22.000000000 +0000
+++ xfstests-dev/common.rc 2011-05-03 08:28:01.000000000 +0000
@@ -587,7 +587,14 @@ _is_block_dev()
exit 1
fi
- [ -b $1 ] && src/lstat64 $1 | $AWK_PROG '/Device type:/ { print $9 }'
+ _dev=$1
+ if [ -L "${_dev}" ]; then
+ _dev=`readlink -f ${_dev}`
+ fi
+
+ if [ -b "${_dev}" ]; then
+ src/lstat64 ${_dev} | $AWK_PROG '/Device type:/ { print $9 }'
+ fi
}
# Do a command, log it to $seq.full, optionally test return status
Index: xfstests-dev/README.device-mapper
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xfstests-dev/README.device-mapper 2011-05-03 08:27:00.000000000 +0000
@@ -0,0 +1,8 @@
+
+To use xfstests on device mapper always use the /dev/mapper/<name> symlinks,
+not the /dev/dm-* devices, or the symlinks created by LVM.
+
+For example:
+
+TEST_DEV=/dev/mapper/test
+SCRATCH_DEV=/dev/mapper/scratch
|