Index: multipath-tools-080515/multipath/Makefile =================================================================== --- multipath-tools-080515.orig/multipath/Makefile +++ multipath-tools-080515/multipath/Makefile @@ -21,7 +21,7 @@ $(EXEC): $(OBJS) install: $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) -m 755 $(EXEC) mpath_wait $(DESTDIR)$(bindir)/ $(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d $(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/etc/udev/rules.d/ $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) @@ -36,6 +36,7 @@ install: uninstall: rm $(DESTDIR)/etc/udev/rules.d/multipath.rules rm $(DESTDIR)$(bindir)/$(EXEC) + rm $(DESTDIR)$(bindir)/mpath_wait rm $(DESTDIR)$(mandir)/$(EXEC).8.gz rm $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz Index: multipath-tools-080515/multipath/mpath_wait =================================================================== --- /dev/null +++ multipath-tools-080515/multipath/mpath_wait @@ -0,0 +1,17 @@ +#!/bin/bash + +retry=3 +sec=1 + +/sbin/dmsetup info -c --noheadings -j $1 -m $2 2> /dev/null | grep -q .*:${1}:${2}:L.*:.*:.*:.*:.* +ret=$? + +while [ "$ret" -ne 0 -a "$retry" -gt 0 ] +do + sleep $sec + /sbin/dmsetup info -c --noheadings -j $1 -m $2 2> /dev/null | grep -q .*:${1}:${2}:L.*:.*:.*:.*:.* + ret=$? + retry=$(($retry - 1)) +done + +exit $ret