]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
dmraid: only scan once because of one device
authorHarald Hoyer <harald@redhat.com>
Tue, 18 Aug 2015 13:04:31 +0000 (15:04 +0200)
committerHarald Hoyer <harald@redhat.com>
Tue, 18 Aug 2015 13:04:31 +0000 (15:04 +0200)
modules.d/90dmraid/61-dmraid-imsm.rules
modules.d/90dmraid/dmraid.sh

index 33e060be469d8aaf906fe59cdb4f548ef8a650bf..de7e97e58245ffa0b71b3bc436d7b90a8b54d202 100644 (file)
@@ -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"
index 3753ddd7e592eec8c397d6c3ad963983a64a3af2..ce9a6b20d5aa28ae5a0d3f894690a7a0b545c4e4 100755 (executable)
@@ -4,6 +4,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