#!/sbin/runscript
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/device-mapper.rc-2.02.67-r1,v 1.1 2010/06/09 22:41:45 robbat2 Exp $

depend() {
	# necessary for services when using baselayout-2
	# but conflict for baselayout-1
	if [ -e /etc/init.d/root ] ; then
		before checkfs fsck
		after modules
	fi
	# As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that
	# means dmeventd is NOT notified, as it cannot be safely running
	before dmeventd
}

start() {
	if [ ! -e /etc/init.d/root ] ; then
		eerror "The ${SVCNAME} init script is written for baselayout-2"
		eerror "Please do not use it with baselayout-1"
		return 1
	fi

	local f=/lib/rcscripts/addons/dm-start.sh
	if [ -r "$f" ]; then
		( . "$f" )
	fi
}

