1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#!/bin/sh
#
# libdevmapper1.01 This script manages devices needed by libdevmapper.
#
# Written by Andres Salomon <dilinger@voxel.net>
#
set -e
# load the device-mappper module, if it hasn't already been done
modprobe dm-mod >/dev/null 2>&1 || true
create_dm()
{
dm_dir="/dev/mapper"
dm_file="$dm_dir/control"
if test -c /dev/.devfsd; then
echo "DEVFS detected, done."
return 1
fi
if test ! -f /proc/devices || test ! -f /proc/misc; then
echo "unable to continue without /proc/misc and /proc/devices."
return 2
fi
major=$(grep "[0-9] misc$" /proc/devices | sed -e 's/[ ]\+misc//' -e's/ //g')
minor=$(grep "[0-9] device-mapper$" /proc/misc | sed -e 's/[ ]\+device-mapper//' -e's/ //g')
ls=`(ls -l $dm_file 2>/dev/null||/bin/true) | grep "^c.* $major,[ ]\+$minor"`
test -d $dm_dir || mkdir --mode=755 $dm_dir >/dev/null 2>&1
test -z "$major" || test -z "$minor" || test -z "$ls" && rm -f $dm_file && mknod --mode=660 $dm_file c $major $minor >/dev/null 2>&1
return 0
}
case "$1" in
start|restart|reload|force-reload)
echo -n "Creating device-mapper devices..."
create_dm && echo "done."
;;
stop)
# do nothing
:
;;
*)
echo "Usage: /etc/init.d/libdevmapper1.00 {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
|