Speed up LVM-activation

Change vgscan and vgchange so they are done in one go.
Faster since less work for the lvm command.
vgscan is still needed for some cases like dmcrypt where
/etc/lvm/cache is created, but not updated with the unlocked devices.
cleanup-cruft
Peter Hjalmarsson 14 years ago committed by Sebastian Pipping
parent ba56efcb97
commit d1b6b4e9f0

@ -632,17 +632,22 @@ startVolumes() {
if [ "${USE_LVM_NORMAL}" = '1' ]
then
if [ -e '/bin/vgscan' -a -e '/bin/vgchange' ]
if [ -e '/bin/lvm' ]
then
for dev in ${RAID_DEVICES}
do
setup_md_device "${dev}"
done
good_msg "Scanning for Volume Groups"
/bin/vgscan --ignorelockingfailure --mknodes 2>/dev/null
good_msg "Activating Volume Groups"
/bin/vgchange -ay --sysinit 2>/dev/null
# This is needed for /bin/lvm to accept the following logic
lvm_commands="#! /bin/lvm"
# If there is a cahe, update it. Unbreak at least dmcrypt
[ -d /etc/lvm/cache ] && lvm_commands="$lvm_commands \nvgscan"
# To activate volumegroups on all devices in the cache
lvm_commands="$lvm_commands \nvgchange -ay --sysinit"
# And finally execute it all (/proc/... needed if lvm is compiled without readline)
good_msg "Scanning for and activating Volume Groups"
printf "%b\n" "$lvm_commands" | /bin/lvm /proc/self/fd/0
# Disable EVMS since lvm is activated and they dont work together.
if [ "${USE_EVMS_NORMAL}" = '1' ]

@ -31,12 +31,6 @@ then
[ -e /linuxrc ] && rm /linuxrc
fi
if [ -e /bin/lvm ]
then
[ -e /bin/vgscan ] || ln -s /bin/lvm /bin/vgscan
[ -e /bin/vgchange ] || ln -s /bin/lvm /bin/vgchange
fi
quiet_kmsg
CMDLINE=`cat /proc/cmdline`

Loading…
Cancel
Save