diff options
Diffstat (limited to 'core/lvm2/lvm2_hook')
-rw-r--r-- | core/lvm2/lvm2_hook | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/core/lvm2/lvm2_hook b/core/lvm2/lvm2_hook index 874b91d06..efb104998 100644 --- a/core/lvm2/lvm2_hook +++ b/core/lvm2/lvm2_hook @@ -4,22 +4,22 @@ 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 + local major minor + IFS=: read major minor < /sys/class/misc/device-mapper/dev mkdir /dev/mapper - mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |') + mknod "/dev/mapper/control" c ${major} ${minor} 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 + for pvdev in ${lvmwait//,/ }; do + poll_device ${pvdev} ${rootdelay} + done [ "${quiet}" = "y" ] && LVMQUIET=">/dev/null" msg "Activating logical volumes..." - [ -d /etc/lvm ] && /sbin/lvm vgscan --sysinit + [ -d /etc/lvm ] && /sbin/lvm vgscan eval /sbin/lvm vgchange --sysinit -a y $LVMQUIET fi } |