From a283636b83da0ea967bb0281a8f730750f6a2702 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 18 Aug 2015 15:04:31 +0200 Subject: [PATCH] dmraid: only scan once because of one device (cherry picked from commit 80153acc0f8bbb3829575201e2a0ba3da41268a8) --- modules.d/90dmraid/61-dmraid-imsm.rules | 2 +- modules.d/90dmraid/dmraid.sh | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules.d/90dmraid/61-dmraid-imsm.rules b/modules.d/90dmraid/61-dmraid-imsm.rules index 33e060b..de7e97e 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 3dcff38..e7a09b0 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