]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
resume: Ensure we actually wait for the /dev/resume 'device' 68/head
authorColin Guthrie <colin@mageia.org>
Fri, 15 May 2015 13:53:41 +0000 (14:53 +0100)
committerHarald Hoyer <harald@redhat.com>
Fri, 15 May 2015 14:01:41 +0000 (16:01 +0200)
Although various bits are in place to cancel waiting for the /dev/resume
device (actually a symlink), we don't actually ever wait for it.

Also as the udev rule may create the symlink, silence any errors from
our manual ln -s call from the settled job.

modules.d/95resume/parse-resume.sh

index 92964298e07e886b9293784a0df40b250fbfe4aa..3b97e51c737df2bce6a64eaa80dac07b5539eda3 100755 (executable)
@@ -37,6 +37,8 @@ esac
 
 if ! getarg noresume; then
     if [ -n "$resume" ]; then
+        wait_for_dev /dev/resume
+
         {
             printf "KERNEL==\"%s\", ACTION==\"add|change\", SYMLINK+=\"resume\"\n" \
                 ${resume#/dev/};
@@ -65,7 +67,7 @@ if ! getarg noresume; then
             printf -- '%s\n' ' RUN+="/sbin/initqueue --finished --unique --name 00resume echo %M:%m  > /sys/power/resume"'
         } >> /etc/udev/rules.d/99-resume.rules
 
-        printf '[ -e "%s" ] && { ln -s "%s" /dev/resume; rm -f -- "$job" "%s/initqueue/timeout/resume.sh"; }\n' \
+        printf '[ -e "%s" ] && { ln -s "%s" /dev/resume 2> /dev/null; rm -f -- "$job" "%s/initqueue/timeout/resume.sh"; }\n' \
             "$resume" "$resume" "$hookdir" >> $hookdir/initqueue/settled/resume.sh
 
         {