]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fips/fips.sh: only trigger udev, if device node of boot is not present
authorHarald Hoyer <harald@redhat.com>
Mon, 7 Mar 2011 12:13:00 +0000 (13:13 +0100)
committerHarald Hoyer <harald@redhat.com>
Mon, 7 Mar 2011 12:37:19 +0000 (13:37 +0100)
modules.d/01fips/fips.sh

index c51b16c13a23608d056311f62b2fd8759314d94d..a8db43b783e25d42221fa3195d91e20a56cc6ff7 100755 (executable)
@@ -6,7 +6,6 @@ do_fips()
     FIPSMODULES=$(cat /etc/fipsmodules)
     BOOT=$(getarg boot=)
     KERNEL=$(uname -r)
-    udevadm trigger --action=add >/dev/null 2>&1
     case "$boot" in
         block:LABEL=*|LABEL=*)
             boot="${boot#block:}"
@@ -21,12 +20,15 @@ do_fips()
             bootok=1 ;;
     esac
 
-    [ -z "$UDEVVERSION" ] && UDEVVERSION=$(udevadm --version)
-    
-    if [ $UDEVVERSION -ge 143 ]; then
-        udevadm settle --exit-if-exists=$boot
-    else
-        udevadm settle --timeout=30
+    if ! [ -e "$boot" ]; then
+        udevadm trigger --action=add >/dev/null 2>&1
+        [ -z "$UDEVVERSION" ] && UDEVVERSION=$(udevadm --version)
+
+        if [ $UDEVVERSION -ge 143 ]; then
+            udevadm settle --exit-if-exists=$boot
+        else
+            udevadm settle --timeout=30
+        fi
     fi
 
     [ -e "$boot" ]