Merge pull request #68 from dracut-mailing-devs/1431698021-16626-3-git-send-email-colin@mageia.org
dracut: Make host only mode more resilient to missing swaps. This patch set allows swap devices to disappear without cocking up a host-only initramfs boot.master
commit
dfec3c2d8b
|
@ -1224,7 +1224,9 @@ if [[ $hostonly ]]; then
|
|||
done < /etc/crypttab
|
||||
fi
|
||||
|
||||
push_host_devs "$(readlink -f "$dev")"
|
||||
_dev="$(readlink -f "$dev")"
|
||||
push_host_devs "$_dev"
|
||||
push swap_devs "$_dev"
|
||||
break
|
||||
done < /etc/fstab
|
||||
done < /proc/swaps
|
||||
|
@ -1335,7 +1337,7 @@ export initdir dracutbasedir \
|
|||
omit_drivers mdadmconf lvmconf root_dev \
|
||||
use_fstab fstab_lines libdirs fscks nofscks ro_mnt \
|
||||
stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
|
||||
debug host_fs_types host_devs sshkey add_fstab \
|
||||
debug host_fs_types host_devs swap_devs sshkey add_fstab \
|
||||
DRACUT_VERSION udevdir prefix filesystems drivers \
|
||||
systemdutildir systemdsystemunitdir systemdsystemconfdir \
|
||||
host_modalias host_modules hostonly_cmdline loginstall \
|
||||
|
|
|
@ -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
|
||||
|
||||
{
|
||||
|
|
|
@ -103,6 +103,14 @@ install() {
|
|||
|
||||
for _dev in ${host_devs[@]}; do
|
||||
[[ "$_dev" == "$root_dev" ]] && continue
|
||||
|
||||
# We only actually wait for real devs - swap is only needed
|
||||
# for resume and udev rules generated when parsing resume=
|
||||
# argument take care of the waiting for us
|
||||
for _dev2 in ${swap_devs[@]}; do
|
||||
[[ "$_dev" == "$_dev2" ]] && continue 2
|
||||
done
|
||||
|
||||
_pdev=$(get_persistent_dev $_dev)
|
||||
|
||||
case "$_pdev" in
|
||||
|
|
Loading…
Reference in New Issue