diff options
author | Will Woods <wwoods@redhat.com> | 2012-04-02 16:48:18 -0400 |
---|---|---|
committer | Will Woods <wwoods@redhat.com> | 2012-04-03 16:37:45 -0400 |
commit | fd3742ad638437010800e45f9b36e9cc23d530f7 (patch) | |
tree | 4fdc3ad747ab9010a19fbde573266b0364186ac5 | |
parent | f1c3eddf04e0a0110ca580e54a39265d975c35b2 (diff) | |
download | anaconda-fd3742ad638437010800e45f9b36e9cc23d530f7.tar.gz anaconda-fd3742ad638437010800e45f9b36e9cc23d530f7.tar.xz anaconda-fd3742ad638437010800e45f9b36e9cc23d530f7.zip |
dracut when_diskdev_appears: only run cmd once per device
Use initqueue --unique to ensure the command can only be enqueued once.
Also, make sure anaconda-diskroot gets the correct device name.
-rwxr-xr-x | dracut/anaconda-lib.sh | 2 | ||||
-rwxr-xr-x | dracut/kickstart-genrules.sh | 4 | ||||
-rwxr-xr-x | 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 d4c995365..1083bcb40 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 87a08b7b4..7a69fa52c 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 24ee9262c..5f44a13f8 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 |