From bcfbddefe13d179d553da77cf66ada5e6fd804c8 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 28 May 2013 13:26:05 +0200 Subject: [PATCH] don't add volatile swap partitions to host_devs --- TODO | 1 + dracut.sh | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index 9eeedfa..e275324 100644 --- a/TODO +++ b/TODO @@ -22,6 +22,7 @@ INITRAMFS TODO GENERATOR TODO +- remove wait for swap devs, if no "resume=" is given on the kernel command line - add presets (predefined set of modules) - add interpreter/plugin-scripts to be sourced at the beginning or end (can use dracut-functions) - add mechanism for module specific command line options diff --git a/dracut.sh b/dracut.sh index 88b0645..7481ac0 100755 --- a/dracut.sh +++ b/dracut.sh @@ -830,7 +830,7 @@ if [[ $hostonly ]]; then # in hostonly mode, determine all devices, which have to be accessed # and examine them for filesystem types - push host_mp \ + for mp in \ "/" \ "/etc" \ "/usr" \ @@ -838,9 +838,8 @@ if [[ $hostonly ]]; then "/usr/sbin" \ "/usr/lib" \ "/usr/lib64" \ - "/boot" - - for mp in "${host_mp[@]}"; do + "/boot"; + do mountpoint "$mp" >/dev/null 2>&1 || continue push host_devs $(readlink -f "/dev/block/$(find_block_device "$mp")") done @@ -856,11 +855,19 @@ if [[ $hostonly ]]; then [[ "$_d" == UUID\=* ]] && _d="/dev/disk/by-uuid/${_d#UUID=}" [[ "$_d" == LABEL\=* ]] && _d="/dev/disk/by-label/$_d#LABEL=}" [[ "$_d" -ef "$dev" ]] || continue + + while read _mapper _a _p _o; do + [[ $_mapper = \#* ]] && continue + [[ "$_d" -ef /dev/mapper/"$_mapper" ]] || continue + [[ "$_o" ]] || _o="$_p" + # skip mkswap swap + [[ $_o == *swap* ]] && continue 2 + done < /etc/crypttab + push host_devs $(readlink -f $dev) break done < /etc/fstab done < /proc/swaps - fi _get_fs_type() (