|
Harald Hoyer |
fe48c9 |
From c82a11334d53f26ac158df9bcfca1a4e2ad39ae0 Mon Sep 17 00:00:00 2001
|
|
Harald Hoyer |
fe48c9 |
From: Harald Hoyer <harald@redhat.com>
|
|
Harald Hoyer |
fe48c9 |
Date: Tue, 20 Aug 2013 16:01:10 +0200
|
|
Harald Hoyer |
fe48c9 |
Subject: [PATCH] dracut-functions.sh: add expand_persistent_dev()
|
|
Harald Hoyer |
fe48c9 |
|
|
Harald Hoyer |
fe48c9 |
also fixes missing '{' for LABEL=... swaps
|
|
Harald Hoyer |
fe48c9 |
---
|
|
Harald Hoyer |
fe48c9 |
dracut-functions.sh | 38 +++++++++++++++++++++++++++++++-------
|
|
Harald Hoyer |
fe48c9 |
dracut.sh | 3 +--
|
|
Harald Hoyer |
fe48c9 |
2 files changed, 32 insertions(+), 9 deletions(-)
|
|
Harald Hoyer |
fe48c9 |
|
|
Harald Hoyer |
fe48c9 |
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
Harald Hoyer |
fe48c9 |
index 1d70bd0..6c7e693 100755
|
|
Harald Hoyer |
fe48c9 |
--- a/dracut-functions.sh
|
|
Harald Hoyer |
fe48c9 |
+++ b/dracut-functions.sh
|
|
Harald Hoyer |
fe48c9 |
@@ -323,19 +323,43 @@ get_persistent_dev() {
|
|
Harald Hoyer |
fe48c9 |
done
|
|
Harald Hoyer |
fe48c9 |
}
|
|
Harald Hoyer |
fe48c9 |
|
|
Harald Hoyer |
fe48c9 |
+expand_persistent_dev() {
|
|
Harald Hoyer |
fe48c9 |
+ local _dev=$1
|
|
Harald Hoyer |
fe48c9 |
+
|
|
Harald Hoyer |
fe48c9 |
+ case "$_dev" in
|
|
Harald Hoyer |
fe48c9 |
+ LABEL=*)
|
|
Harald Hoyer |
fe48c9 |
+ _dev="/dev/disk/by-label/${_dev#LABEL=}"
|
|
Harald Hoyer |
fe48c9 |
+ ;;
|
|
Harald Hoyer |
fe48c9 |
+ UUID=*)
|
|
Harald Hoyer |
fe48c9 |
+ _dev="${_dev#UUID=}"
|
|
Harald Hoyer |
fe48c9 |
+ _dev="$(tr "[:upper:]" "[:lower:]" <<< "$_dev" )"
|
|
Harald Hoyer |
fe48c9 |
+ _dev="/dev/disk/by-uuid/${_dev}"
|
|
Harald Hoyer |
fe48c9 |
+ ;;
|
|
Harald Hoyer |
fe48c9 |
+ PARTUUID=*)
|
|
Harald Hoyer |
fe48c9 |
+ _dev="${_dev#PARTUUID=}"
|
|
Harald Hoyer |
fe48c9 |
+ _dev="$(tr "[:upper:]" "[:lower:]" <<< "$_dev" )"
|
|
Harald Hoyer |
fe48c9 |
+ _dev="/dev/disk/by-partuuid/${_dev}"
|
|
Harald Hoyer |
fe48c9 |
+ ;;
|
|
Harald Hoyer |
fe48c9 |
+ PARTLABEL=*)
|
|
Harald Hoyer |
fe48c9 |
+ _dev="/dev/disk/by-partlabel/${_dev#PARTLABEL=}"
|
|
Harald Hoyer |
fe48c9 |
+ ;;
|
|
Harald Hoyer |
fe48c9 |
+ esac
|
|
Harald Hoyer |
fe48c9 |
+ printf "%s" "$_dev"
|
|
Harald Hoyer |
fe48c9 |
+}
|
|
Harald Hoyer |
fe48c9 |
+
|
|
Harald Hoyer |
fe48c9 |
shorten_persistent_dev() {
|
|
Harald Hoyer |
fe48c9 |
- local dev="$1"
|
|
Harald Hoyer |
fe48c9 |
- case "$dev" in
|
|
Harald Hoyer |
fe48c9 |
+ local _dev="$1"
|
|
Harald Hoyer |
fe48c9 |
+ case "$_dev" in
|
|
Harald Hoyer |
fe48c9 |
/dev/disk/by-uuid/*)
|
|
Harald Hoyer |
fe48c9 |
- printf "%s" "UUID=${dev##*/}";;
|
|
Harald Hoyer |
fe48c9 |
+ printf "%s" "UUID=${_dev##*/}";;
|
|
Harald Hoyer |
fe48c9 |
/dev/disk/by-label/*)
|
|
Harald Hoyer |
fe48c9 |
- printf "%s" "LABEL=${dev##*/}";;
|
|
Harald Hoyer |
fe48c9 |
+ printf "%s" "LABEL=${_dev##*/}";;
|
|
Harald Hoyer |
fe48c9 |
/dev/disk/by-partuuid/*)
|
|
Harald Hoyer |
fe48c9 |
- printf "%s" "PARTUUID=${dev##*/}";;
|
|
Harald Hoyer |
fe48c9 |
+ printf "%s" "PARTUUID=${_dev##*/}";;
|
|
Harald Hoyer |
fe48c9 |
/dev/disk/by-partlabel/*)
|
|
Harald Hoyer |
fe48c9 |
- printf "%s" "PARTLABEL=${dev##*/}";;
|
|
Harald Hoyer |
fe48c9 |
+ printf "%s" "PARTLABEL=${_dev##*/}";;
|
|
Harald Hoyer |
fe48c9 |
*)
|
|
Harald Hoyer |
fe48c9 |
- printf "%s" "$dev";;
|
|
Harald Hoyer |
fe48c9 |
+ printf "%s" "$_dev";;
|
|
Harald Hoyer |
fe48c9 |
esac
|
|
Harald Hoyer |
fe48c9 |
}
|
|
Harald Hoyer |
fe48c9 |
|
|
Harald Hoyer |
fe48c9 |
diff --git a/dracut.sh b/dracut.sh
|
|
Harald Hoyer |
fe48c9 |
index 117f877..0c42958 100755
|
|
Harald Hoyer |
fe48c9 |
--- a/dracut.sh
|
|
Harald Hoyer |
fe48c9 |
+++ b/dracut.sh
|
|
Harald Hoyer |
fe48c9 |
@@ -913,8 +913,7 @@ if [[ $hostonly ]]; then
|
|
Harald Hoyer |
fe48c9 |
[[ $_t != "swap" ]] && continue
|
|
Harald Hoyer |
fe48c9 |
[[ $_m != "swap" ]] && [[ $_m != "none" ]] && continue
|
|
Harald Hoyer |
fe48c9 |
[[ "$_o" == *noauto* ]] && continue
|
|
Harald Hoyer |
fe48c9 |
- [[ "$_d" == UUID\=* ]] && _d="/dev/disk/by-uuid/${_d#UUID=}"
|
|
Harald Hoyer |
fe48c9 |
- [[ "$_d" == LABEL\=* ]] && _d="/dev/disk/by-label/$_d#LABEL=}"
|
|
Harald Hoyer |
fe48c9 |
+ _d=$(expand_persistent_dev "$_d")
|
|
Harald Hoyer |
fe48c9 |
[[ "$_d" -ef "$dev" ]] || continue
|
|
Harald Hoyer |
fe48c9 |
|
|
Harald Hoyer |
fe48c9 |
if [[ -f /etc/crypttab ]]; then
|