From: Harald Hoyer Date: Tue, 18 Aug 2015 13:04:31 +0000 (+0200) Subject: dmraid: only scan once because of one device X-Git-Tag: 044~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a283636b83da0ea967bb0281a8f730750f6a2702;p=thirdparty%2Fdracut.git dmraid: only scan once because of one device (cherry picked from commit 80153acc0f8bbb3829575201e2a0ba3da41268a8) --- diff --git a/modules.d/90dmraid/61-dmraid-imsm.rules b/modules.d/90dmraid/61-dmraid-imsm.rules index 33e060be4..de7e97e58 100644 --- a/modules.d/90dmraid/61-dmraid-imsm.rules +++ b/modules.d/90dmraid/61-dmraid-imsm.rules @@ -24,6 +24,6 @@ PROGRAM=="/bin/sh -c 'for i in $sys/$devpath/holders/dm-[0-9]*; do [ -e $$i ] && ENV{DEVTYPE}!="partition", \ RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}" -RUN+="/sbin/initqueue --onetime --unique --settled /sbin/dmraid_scan" +RUN+="/sbin/initqueue --onetime --unique --settled /sbin/dmraid_scan $env{DEVNAME}" LABEL="dm_end" diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh index 3dcff38a4..e7a09b072 100755 --- a/modules.d/90dmraid/dmraid.sh +++ b/modules.d/90dmraid/dmraid.sh @@ -2,6 +2,13 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh +dev="$1" +devenc=$(str_replace "$1" '/' '\2f') + +[ -e /tmp/dmraid.$devenc ] && exit 0 + +>/tmp/dmraid.$devenc + DM_RAIDS=$(getargs rd.dm.uuid -d rd_DM_UUID=) if [ -n "$DM_RAIDS" ] || getargbool 0 rd.auto; then