]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
don't add volatile swap partitions to host_devs
authorHarald Hoyer <harald@redhat.com>
Tue, 28 May 2013 11:26:05 +0000 (13:26 +0200)
committerHarald Hoyer <harald@redhat.com>
Tue, 28 May 2013 11:36:37 +0000 (13:36 +0200)
TODO
dracut.sh

diff --git a/TODO b/TODO
index 9eeedfa9b129e9f0212dc047c7de960875d6093a..e27532432aa173d1ae274cdd73293205e733181c 100644 (file)
--- 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
index 88b0645d331ee8f1148036408756883c40110ac2..7481ac037dc2d7354af2bd391734943187fcb9d6 100755 (executable)
--- 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() (