summaryrefslogtreecommitdiff
path: root/core/lvm2/lvm2_hook
diff options
context:
space:
mode:
Diffstat (limited to 'core/lvm2/lvm2_hook')
-rw-r--r--core/lvm2/lvm2_hook23
1 files changed, 23 insertions, 0 deletions
diff --git a/core/lvm2/lvm2_hook b/core/lvm2/lvm2_hook
new file mode 100644
index 000000000..d6d1c1f94
--- /dev/null
+++ b/core/lvm2/lvm2_hook
@@ -0,0 +1,23 @@
+# vim:set ft=sh:
+run_hook ()
+{
+ /sbin/modprobe -q dm-mod >/dev/null 2>&1
+ if [ -e "/sys/class/misc/device-mapper" ]; then
+ 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 "Activating logical volumes..."
+ eval /sbin/lvm vgchange --sysinit -a y $LVMQUIET
+ fi
+}