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