Blame 0002-dracut-functions.sh-add-expand_persistent_dev.patch

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