90lvm/lvm_scan.sh: use "--partial" to force assembly incomplete VGs

If our internal loop counter is bigger than half of the maximum
count, try to assemble lvm device partially with the "--partial"
option.

https://bugzilla.redhat.com/show_bug.cgi?id=723548
master
Harald Hoyer 2011-08-05 13:05:21 +02:00
parent 6b592c1487
commit e23f46e86f
2 changed files with 7 additions and 2 deletions

View File

@ -13,6 +13,7 @@ PROGRAM=="/bin/sh -c 'for i in $sys/$devpath/holders/dm-[0-9]*; do [ -e $$i ] &&
GOTO="lvm_end"

RUN+="/sbin/initqueue --settled --onetime --unique /sbin/lvm_scan"
RUN+="/sbin/initqueue --timeout --onetime --unique /sbin/lvm_scan --partial"
RUN+="/bin/sh -c '>/tmp/.lvm_scan-%k;'"

LABEL="lvm_end"

View File

@ -4,6 +4,7 @@

# run lvm scan if udev has settled

extraargs="$@"
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh

VGS=$(getargs rd.lvm.vg rd_LVM_VG=)
@ -71,8 +72,11 @@ sub=${sub%%\(*};
check_lvm_ver 2 2 57 $maj $min $sub && \
nopoll="--poll n"

check_lvm_ver 2 2 65 $maj $min $sub && \
sysinit=" --sysinit "
if check_lvm_ver 2 2 65 $maj $min $sub; then
sysinit=" --sysinit $extraargs"
fi

unset extraargs

export LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES=1