SHA256
1
0
forked from pool/os-prober
os-prober/os-prober-call-dmraid-once.patch
Andrei Borzenkov a445e1eceb Accepting request 238257 from home:jeff_mahoney:branches:Base:System
different version that is more easily verifiable without dmraid hardware
- add os-prober-call-dmraid-once.patch
  * fix os-prober: dmraid is called without a device list for every
    partition (bnc#883453)

OBS-URL: https://build.opensuse.org/request/show/238257
OBS-URL: https://build.opensuse.org/package/show/Base:System/os-prober?expand=0&rev=43
2014-06-22 12:37:45 +00:00

37 lines
989 B
Diff

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