[PATCH f17-branch 2/5] dracut when_diskdev_appears: only run cmd once per device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Use initqueue --unique to ensure the command can only be enqueued once.

Also, make sure anaconda-diskroot gets the correct device name.
---
 dracut/anaconda-lib.sh       |    2 +-
 dracut/kickstart-genrules.sh |    4 ++--
 dracut/repo-genrules.sh      |    4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dracut/anaconda-lib.sh b/dracut/anaconda-lib.sh
index d4c9953..1083bcb 100755
--- a/dracut/anaconda-lib.sh
+++ b/dracut/anaconda-lib.sh
@@ -81,7 +81,7 @@ disk_to_dev_path() {
 
 when_diskdev_appears() {
     local dev="${1#/dev/}" cmd=""; shift
-    cmd="/sbin/initqueue --settled --onetime $*"
+    cmd="/sbin/initqueue --settled --onetime --unique --name $1-$dev $*"
     {
         printf 'SUBSYSTEM=="block", KERNEL=="%s", RUN+="%s"\n' "$dev" "$cmd"
         printf 'SUBSYSTEM=="block", SYMLINK=="%s", RUN+="%s"\n' "$dev" "$cmd"
diff --git a/dracut/kickstart-genrules.sh b/dracut/kickstart-genrules.sh
index 87a08b7..7a69fa5 100755
--- a/dracut/kickstart-genrules.sh
+++ b/dracut/kickstart-genrules.sh
@@ -14,8 +14,8 @@ case "${kickstart%%:*}" in
             warn "can't get kickstart: biospart isn't supported yet"
             ksdev=""
         else
-            when_diskdev_appears "$ksdev" \
-                "/sbin/fetch-kickstart-disk \$env{DEVNAME} $kspath"
+            when_diskdev_appears $ksdev \
+                fetch-kickstart-disk \$env{DEVNAME} $kspath
             wait_for_kickstart
         fi
     ;;
diff --git a/dracut/repo-genrules.sh b/dracut/repo-genrules.sh
index 24ee926..5f44a13 100755
--- a/dracut/repo-genrules.sh
+++ b/dracut/repo-genrules.sh
@@ -7,8 +7,8 @@ case "$root" in
     # anaconda-disk:<device>[:<path>]
     splitsep ":" "$root" f diskdev diskpath
     diskdev=$(disk_to_dev_path $diskdev)
-    when_diskdev_appears "$diskdev" \
-        "/sbin/anaconda-diskroot $diskdev $diskpath"
+    when_diskdev_appears $diskdev \
+        anaconda-diskroot \$env{DEVNAME} $diskpath
   ;;
   anaconda-auto-cd)
     # special catch-all rule for CDROMs
-- 
1.7.7.6

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux