aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Guthrie <colin@mageia.org>2015-05-15 14:53:41 +0100
committerHarald Hoyer <harald@redhat.com>2015-05-15 16:01:41 +0200
commit7b56b905824da32dfc0b9309a004013ff19986f6 (patch)
tree3e1cf27efd2cc264d1c7e0f60069c11173b781fc
parent3e3ed34f036a833ccc2150c6224d0a954e841e39 (diff)
downloaddracut-7b56b905824da32dfc0b9309a004013ff19986f6.tar.gz
resume: Ensure we actually wait for the /dev/resume 'device'
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.
-rwxr-xr-xmodules.d/95resume/parse-resume.sh4
1 files changed, 3 insertions, 1 deletions
diff --git a/modules.d/95resume/parse-resume.sh b/modules.d/95resume/parse-resume.sh
index 92964298..3b97e51c 100755
--- a/modules.d/95resume/parse-resume.sh
+++ b/modules.d/95resume/parse-resume.sh
@@ -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
{