File os-prober-call-dmraid-once.patch of Package os-prober.3261

From: Jeff Mahoney <jeffm@suse.com>
Subject: os-prober: call dmraid -r *once*
References: bnc#883453

os-prober calls dmraid -r -c unqualifed for every partition and then greps
the result. dmraid -r -c without a device list will scan every device
on the system. Every time. The results will not differ between runs.

This patch saves the results and performs the grep afterward.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
---
 os-prober |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

--- a/os-prober
+++ b/os-prober
@@ -14,11 +14,17 @@ log_output () {
 	fi
 }
 
+: >"$OS_PROBER_TMP/dmraid-map"
+DMRAID=$(type dmraid >/dev/null 2>&1 || true)
+if [ -n "$DMRAID" ]; then
+	dmraid -r -c >"$OS_PROBER_TMP/dmraid-map"
+fi
+
 on_sataraid () {
 	type dmraid >/dev/null 2>&1 || return 1
 	local parent="${1%/*}"
 	local device="/dev/${parent##*/}"
-	if dmraid -r -c | grep -q "$device"; then
+	if grep -q "$device" "$OS_PROBER_TMP/dmraid-map"; then
 		return 0
 	fi
 	return 1
openSUSE Build Service is sponsored by