dracut/0049-don-t-add-volatile-swa...

69 lines
2.1 KiB
Diff

From bcfbddefe13d179d553da77cf66ada5e6fd804c8 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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() (