18971c
From 80153acc0f8bbb3829575201e2a0ba3da41268a8 Mon Sep 17 00:00:00 2001
18971c
From: Harald Hoyer <harald@redhat.com>
18971c
Date: Tue, 18 Aug 2015 15:04:31 +0200
18971c
Subject: [PATCH] dmraid: only scan once because of one device
18971c
18971c
---
18971c
 modules.d/90dmraid/61-dmraid-imsm.rules | 2 +-
18971c
 modules.d/90dmraid/dmraid.sh            | 7 +++++++
18971c
 2 files changed, 8 insertions(+), 1 deletion(-)
18971c
18971c
diff --git a/modules.d/90dmraid/61-dmraid-imsm.rules b/modules.d/90dmraid/61-dmraid-imsm.rules
18971c
index 33e060be..de7e97e5 100644
18971c
--- a/modules.d/90dmraid/61-dmraid-imsm.rules
18971c
+++ b/modules.d/90dmraid/61-dmraid-imsm.rules
18971c
@@ -24,6 +24,6 @@ PROGRAM=="/bin/sh -c 'for i in $sys/$devpath/holders/dm-[0-9]*; do [ -e $$i ] &&
18971c
 ENV{DEVTYPE}!="partition", \
18971c
     RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}"
18971c
 
18971c
-RUN+="/sbin/initqueue --onetime --unique --settled /sbin/dmraid_scan"
18971c
+RUN+="/sbin/initqueue --onetime --unique --settled /sbin/dmraid_scan $env{DEVNAME}"
18971c
 
18971c
 LABEL="dm_end"
18971c
diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh
18971c
index 3753ddd7..ce9a6b20 100755
18971c
--- a/modules.d/90dmraid/dmraid.sh
18971c
+++ b/modules.d/90dmraid/dmraid.sh
18971c
@@ -4,6 +4,13 @@
18971c
 
18971c
 type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
18971c
 
18971c
+dev="$1"
18971c
+devenc=$(str_replace "$1" '/' '\2f')
18971c
+
18971c
+[ -e /tmp/dmraid.$devenc ] && exit 0
18971c
+
18971c
+>/tmp/dmraid.$devenc
18971c
+
18971c
 DM_RAIDS=$(getargs rd.dm.uuid -d rd_DM_UUID=)
18971c
 
18971c
 if [ -n "$DM_RAIDS" ] || getargbool 0 rd.auto; then