From: Harald Hoyer Date: Tue, 28 May 2013 11:26:05 +0000 (+0200) Subject: don't add volatile swap partitions to host_devs X-Git-Tag: 028~49 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bcfbddefe13d179d553da77cf66ada5e6fd804c8;p=thirdparty%2Fdracut.git don't add volatile swap partitions to host_devs --- diff --git a/TODO b/TODO index 9eeedfa9b..e27532432 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 88b0645d3..7481ac037 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() (