diff options
Diffstat (limited to 'abs/core/lvm2/lvm2_hook')
-rw-r--r-- | abs/core/lvm2/lvm2_hook | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/abs/core/lvm2/lvm2_hook b/abs/core/lvm2/lvm2_hook index 874b91d..e69b334 100644 --- a/abs/core/lvm2/lvm2_hook +++ b/abs/core/lvm2/lvm2_hook @@ -1,25 +1,24 @@ -# 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 - mkdir /dev/mapper - mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |') - fi +#!/usr/bin/ash - # 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 +run_hook() { + local pvdev - [ "${quiet}" = "y" ] && LVMQUIET=">/dev/null" + modprobe -q dm-mod >/dev/null 2>&1 - msg "Activating logical volumes..." - [ -d /etc/lvm ] && /sbin/lvm vgscan --sysinit - eval /sbin/lvm vgchange --sysinit -a y $LVMQUIET + # If the lvmwait= parameter has been specified on the command line + # wait for the device(s) before trying to activate the volume group(s) + for pvdev in ${lvmwait//,/ }; do + poll_device ${pvdev} ${rootdelay} + done + + msg "Activating logical volumes..." + [ -d /etc/lvm ] && lvm vgscan + + if [ -n "$quiet" ]; then + lvm vgchange --sysinit -a y >/dev/null + else + lvm vgchange --sysinit -a y fi } + +# vim: set ft=sh ts=4 sw=4 et: |