mirror_zfs/cmd/zpool/zpool.d/dm-deps
Matthew Ahrens f66434268c
Remove unnecessary references to slavery
The horrible effects of human slavery continue to impact society.  The
casual use of the term "slave" in computer software is an unnecessary
reference to a painful human experience.

This commit removes all possible references to the term "slave".

Implementation notes:

The zpool.d/slaves script is renamed to dm-deps, which uses the same
terminology as `dmsetup deps`.

References to the `/sys/class/block/$dev/slaves` directory remain.  This
directory name is determined by the Linux kernel.  Although
`dmsetup deps` provides the same information, it unfortunately requires
elevated privileges, whereas the `/sys/...` directory is world-readable.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
Closes #10435
2020-06-10 17:07:59 -07:00

30 lines
697 B
Bash
Executable File

#!/bin/sh
#
# Show device mapper dependent / underlying devices. This is useful for
# looking up the /dev/sd* devices associated with a dm or multipath device.
#
if [ "$1" = "-h" ] ; then
echo "Show device mapper dependent (underlying) devices."
exit
fi
dev="$VDEV_PATH"
# If the VDEV path is a symlink, resolve it to a real device
if [ -L "$dev" ] ; then
dev=$(readlink "$dev")
fi
dev=$(basename "$dev")
val=""
if [ -d "/sys/class/block/$dev/slaves" ] ; then
# ls -C: output in columns, no newlines
val=$(ls -C "/sys/class/block/$dev/slaves")
# ls -C will print two spaces between files; change to one space.
val=$(echo "$val" | sed -r 's/[[:blank:]]+/ /g')
fi
echo "dm-deps=$val"