summaryrefslogtreecommitdiffstats
path: root/abs/core/lvm2/lvm2_hook
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/lvm2/lvm2_hook')
-rw-r--r--abs/core/lvm2/lvm2_hook17
1 files changed, 13 insertions, 4 deletions
diff --git a/abs/core/lvm2/lvm2_hook b/abs/core/lvm2/lvm2_hook
index b98e87d..13183c6 100644
--- a/abs/core/lvm2/lvm2_hook
+++ b/abs/core/lvm2/lvm2_hook
@@ -3,14 +3,23 @@ run_hook ()
{
/sbin/modprobe -q dm-mod >/dev/null 2>&1
if [ -e "/sys/class/misc/device-mapper" ]; then
- read dev_t < /sys/class/misc/device-mapper/dev
- /bin/mknod "/dev/mapper/control" c $(/bin/replace "${dev_t}" ':')
+ if [ ! -e "/dev/mapper/control" ]; then
+ /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
+ fi
+
+ # If the lvmwait= parameter has been specified on the command line
+ # wait for the device(s) before trying to activate the volume group(s)
+ if [ -n "${lvmwait}" ]; then
+ for pvdev in $(echo ${lvmwait} | sed 's|,| |g'); do
+ poll_device ${pvdev} ${rootdelay}
+ done
+ fi
[ "${quiet}" = "y" ] && LVMQUIET=">/dev/null"
msg "Scanning logical volumes..."
- eval /bin/lvm vgscan --ignorelockingfailure $LVMQUIET
+ eval /sbin/lvm vgscan --ignorelockingfailure $LVMQUIET
msg "Activating logical volumes..."
- eval /bin/lvm vgchange --ignorelockingfailure -ay $LVMQUIET
+ eval /sbin/lvm vgchange --ignorelockingfailure --ignoremonitoring -ay $LVMQUIET
fi
}