Bring up multipath devices that are configured in multipath.conf.

This brings up multipath devices which are configured in multipath.conf
as we find them.
master
Peter Jones 2009-11-24 14:47:48 -05:00
parent 323428ced5
commit b869710aff
3 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,9 @@
# scan for multipath devices
SUBSYSTEM!="block", GOTO="end_mpath_scan"
KERNEL!="sd*", GOTO="end_mpath_scan"
PROGRAM=="/bin/sh -c 'for i in //holders/dm-[0-9]*; do [ -e $$i ] && exit 0; done; exit 1;' ", GOTO="end_mpath_scan"
RUN+="/sbin/modprobe dm-multipath"
RUN+="/bin/echo 'queuing multipath scan'"
RUN+="/sbin/initqueue --settled --onetime --unique --name=mpscan /sbin/multipath-scan"
RUN+="/bin/sh -c '>/tmp/.multipath-scan-%k;'"
LABEL="end_mpath_scan"

View File

@ -27,3 +27,6 @@ done
inst_hook pre-trigger 02 "$moddir/multipathd.sh" inst_hook pre-trigger 02 "$moddir/multipathd.sh"
inst_hook pre-pivot 02 "$moddir/multipathd-stop.sh" inst_hook pre-pivot 02 "$moddir/multipathd-stop.sh"
inst_rules 40-multipath.rules inst_rules 40-multipath.rules

inst "$moddir/multipath-scan.sh" /sbin/multipath-scan
inst_rules "$moddir/14-multipath-scan.rules"

View File

@ -0,0 +1,16 @@
#!/bin/sh

# scan for multipaths if udev has settled

. /lib/dracut-lib.sh

[ -d /etc/multipath ] || mkdir -p /etc/multipath
mpdevs=$(
for f in /tmp/.multipath-scan-* ; do
[ -e "$f" ] || continue
echo -n "${f##/tmp/.multipath-scan-} "
done
)

[ -e /etc/multipath.conf ] || exit 1
multipath ${mpdevs}