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=723548master
parent
6b592c1487
commit
e23f46e86f
|
@ -13,6 +13,7 @@ PROGRAM=="/bin/sh -c 'for i in $sys/$devpath/holders/dm-[0-9]*; do [ -e $$i ] &&
|
||||||
GOTO="lvm_end"
|
GOTO="lvm_end"
|
||||||
|
|
||||||
RUN+="/sbin/initqueue --settled --onetime --unique /sbin/lvm_scan"
|
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;'"
|
RUN+="/bin/sh -c '>/tmp/.lvm_scan-%k;'"
|
||||||
|
|
||||||
LABEL="lvm_end"
|
LABEL="lvm_end"
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
# run lvm scan if udev has settled
|
# run lvm scan if udev has settled
|
||||||
|
|
||||||
|
extraargs="$@"
|
||||||
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
||||||
|
|
||||||
VGS=$(getargs rd.lvm.vg rd_LVM_VG=)
|
VGS=$(getargs rd.lvm.vg rd_LVM_VG=)
|
||||||
|
@ -71,8 +72,11 @@ sub=${sub%%\(*};
|
||||||
check_lvm_ver 2 2 57 $maj $min $sub && \
|
check_lvm_ver 2 2 57 $maj $min $sub && \
|
||||||
nopoll="--poll n"
|
nopoll="--poll n"
|
||||||
|
|
||||||
check_lvm_ver 2 2 65 $maj $min $sub && \
|
if check_lvm_ver 2 2 65 $maj $min $sub; then
|
||||||
sysinit=" --sysinit "
|
sysinit=" --sysinit $extraargs"
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset extraargs
|
||||||
|
|
||||||
export LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES=1
|
export LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES=1
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue