#!/bin/sh
# -*- sh-mode -*-
#
# chkconfig: 2345 93 10
# description: This startup script updates mapper control node 
#
#                                       Author: Pavel Mironchik <tibor@tut.by>

. /etc/init.d/functions

RETVAL=0
MINOR=""

get_minor() 
{
    MINOR=`cat /proc/misc | grep "device\-mapper"`
    if [ -n "$MINOR" ]; then
	MINOR=`expr "$MINOR" : '\(.*\) .*'`
    fi
}

start() 
{
    msg_starting "device mapper"
    get_minor
    if [ -z "$MINOR" ]; then
	/sbin/modprobe dm_mod  >/dev/null 2>&1  ||  return 1
	get_minor
	if [ ! -n "$MINOR" ]; then 
	    RETVAL=1;
	    return 1 
	fi
    fi
    
    if [ -e "/dev/mapper" ]; then
	/bin/rm -fr /dev/mapper
    fi

    /bin/mkdir /dev/mapper ||   return 1 
    /bin/mknod /dev/mapper/control c 10 $MINOR || return 1
    echo_success
}



case "$1" in
	start|reload|sreload|restart)
		start
		if [ "$?" != 0  ]; then
		    RETVAL=1
		    echo_failure
		fi
		;;
	stop)
		rm -fr /dev/mapper
		;;
	status)
		RETVAL=0
		;;
	condstop)
		;;
	condreload)
		;;
	condrestart)
		;;
	*)
		msg_usage "${0##*/} {start|stop|status|reload|restart|condstop|condrestart|condreload}"
		RETVAL=1
esac

exit $RETVAL
