dracut/0147-dracut.sh-Fix-UUID-fstab-parsing-in-case-mount-optio.patch
Thomas Renninger eb37c150a3 Accepting request 246856 from home:trenn:branches:Base:System
- Do not blindly try to touch the logfile (bnc#893219)
* Add 0146-dracut.sh-corrected-logfile-check.patch
- Only fix UUID= fstab parsing
* Add 0147-dracut.sh-Fix-UUID-fstab-parsing-in-case-mount-optio.patch
- Also fix other parsing syntax in fstab like LABEL=
* Add 0148-dracut.sh-Fix-LABEL-and-other-fstab-syntax.patch
- Fix up some bugs from previous commit
* Add 0149-dracut.sh-Fix-fstab-parsing-again.patch
- bnc#893615
* Add 0150-Find-kernel-modules-in-extra-and-weak-updates-path-a.patch
- pixz does need too much memory, go back to xz in a conservative way
  (bnc#893981)
* Add 0151-Go-back-to-xz-again-pixz-may-use-too-much-memory-whi.patch
- Add some default tools to initrd when debug module is included and
  already provided an commented example line how to easily enable it.
  No functional change by default.
* Add 0152-Add-a-comment-to-easily-add-debug-modules-also-add-v.patch

OBS-URL: https://build.opensuse.org/request/show/246856
OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=182
2014-08-29 14:57:13 +00:00

56 lines
1.5 KiB
Diff

From be3797f733ad5e956c73d0f17ba8bddc12b7f570 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Fri, 22 Aug 2014 18:52:22 +0200
Subject: dracut.sh: Fix UUID= fstab parsing in case --mount option is passed
Dracut parses /etc/fstab when --mount is option is passed (e.g. kdump).
In host_devs variable the real block device must be stored, not UUID=
There are other /etc/fstab syntax possibilities we now warn that they
are not correctly parsed. This will be fixed by another patch
when there is time to test this properly.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
dracut.sh | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 297c6bf..d087530 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1020,9 +1020,28 @@ declare -A host_fs_types
for line in "${fstab_lines[@]}"; do
set -- $line
+ dev="$1"
#dev mp fs fsopts
- push_host_devs "$1"
- host_fs_types["$1"]="$3"
+ case "$dev" in
+ UUID=*)
+ dev=/dev/disk/by-uuid/${dev#UUID=*}
+ ;;
+ LABEL=*)
+ dwarn "Not supported fstab line: $@"
+ ;;
+ PARTUUID=*)
+ dwarn "Not supported fstab line: $@"
+ ;;
+ PARTLABEL=*)
+ dwarn "Not supported fstab line: $@"
+ ;;
+ *)
+ dwarn "Not supported fstab line: $@"
+ ;;
+ esac
+ push_host_devs "$dev"
+ echo "$dev" "$3"
+ host_fs_types["$dev"]="$3"
done
for f in $add_fstab; do
--
1.7.6.1