#!/bin/bash
#
#%stage: devicemapper
#%depends: dmroot
#

# no dmsetup -> no dm
if [ -x /sbin/dmsetup ]; then	
    dm_blockdev=
	
    # if any device before was on dm we have to activate it
    [ "$tmp_root_dm" ] && root_dm=1
	
    blockdev="$(dm_resolvedeps_recursive $blockdev)"
    [ "$?" = 0 ] && root_dm=1
    # include dm when using dm based block devs
    [ "$DM_BLOCK" ] && root_dm=1

    # include modules
    if [ -n "$root_dm" ] ; then
	# Add all dm modules
	dm_modules=
	for table in $(dmsetup table | cut -f 4 -d ' ' | sort | uniq); do
	    if [ "$table" ] && [ "$table" != "linear" ] &&
	       [ "$table" != "striped" ] && [ "$table" != "snapshot-origin" ] ; then
		dm_modules="$dm_modules dm-$table"
	    fi
	done
    fi

    # include dm block var from sysconfig
    mkdir -p $tmp_mnt/etc/sysconfig
    grep DM_BLOCK /etc/sysconfig/kernel > $tmp_mnt/etc/sysconfig/kernel
    mkdir -p $tmp_mnt/usr/lib/udev/rules.d
    cp /usr/lib/udev/rules.d/10-dm.rules $tmp_mnt/usr/lib/udev/rules.d/
    cp /usr/lib/udev/rules.d/13-dm-disk.rules $tmp_mnt/usr/lib/udev/rules.d
    cp /usr/lib/udev/rules.d/95-dm-notify.rules $tmp_mnt/usr/lib/udev/rules.d
    save_var root_dm
    save_var dm_modules
fi
