Blame 0026-Allow-to-add-mount-points-even-not-in-hostonly-mode.patch

Harald Hoyer 3957aa
From cd7ff122a4cea4ba6d03d366293cc44e9550a54f Mon Sep 17 00:00:00 2001
Harald Hoyer 3957aa
From: Cong Wang <xiyou.wangcong@gmail.com>
Harald Hoyer 3957aa
Date: Tue, 20 Dec 2011 14:09:56 +0800
Harald Hoyer 3957aa
Subject: [PATCH] Allow to add mount points even not in hostonly mode
Harald Hoyer 3957aa
Harald Hoyer 3957aa
Don't force --mount only working in hostonly mode, let users decide.
Harald Hoyer 3957aa
With this patch, people can still combine -H --mount '...' if they
Harald Hoyer 3957aa
want to use it in hostonly mode.
Harald Hoyer 3957aa
Harald Hoyer 3957aa
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Harald Hoyer 3957aa
---
Harald Hoyer 3957aa
 dracut |   77 +++++++++++++++++++++++++++++++--------------------------------
Harald Hoyer 3957aa
 1 files changed, 38 insertions(+), 39 deletions(-)
Harald Hoyer 3957aa
Harald Hoyer 3957aa
diff --git a/dracut b/dracut
Harald Hoyer 3957aa
index 56c8df3..04dc8ec 100755
Harald Hoyer 3957aa
--- a/dracut
Harald Hoyer 3957aa
+++ b/dracut
Harald Hoyer 3957aa
@@ -525,40 +525,25 @@ trap 'exit 1;' SIGINT
Harald Hoyer 3957aa
 # Need to be able to have non-root users read stuff (rpcbind etc)
Harald Hoyer 3957aa
 chmod 755 "$initdir"
Harald Hoyer 3957aa
 
Harald Hoyer 3957aa
+for line in "${fstab_lines[@]}"; do
Harald Hoyer 3957aa
+    set -- $line
Harald Hoyer 3957aa
+    #dev mp fs fsopts
Harald Hoyer 3957aa
+    dev="$(get_maj_min $1)"
Harald Hoyer 3957aa
+    push host_devs "${dev:-$1}"
Harald Hoyer 3957aa
+    push host_fs_types "$dev|$3"
Harald Hoyer 3957aa
+done
Harald Hoyer 3957aa
+
Harald Hoyer 3957aa
+for f in $add_fstab; do
Harald Hoyer 3957aa
+    [ -e $f ] || continue
Harald Hoyer 3957aa
+    while read dev rest; do
Harald Hoyer 3957aa
+        push host_devs $dev
Harald Hoyer 3957aa
+    done < $f
Harald Hoyer 3957aa
+done
Harald Hoyer 3957aa
+
Harald Hoyer 3957aa
 if [[ $hostonly ]]; then
Harald Hoyer 3957aa
     # in hostonly mode, determine all devices, which have to be accessed
Harald Hoyer 3957aa
     # and examine them for filesystem types
Harald Hoyer 3957aa
 
Harald Hoyer 3957aa
-    unset host_fs_types
Harald Hoyer 3957aa
-
Harald Hoyer 3957aa
-    _get_fs_type() (
Harald Hoyer 3957aa
-        [[ $1 ]] || return
Harald Hoyer 3957aa
-        if [[ -b /dev/block/$1 ]] && get_fs_env /dev/block/$1; then
Harald Hoyer 3957aa
-            echo "$1|$ID_FS_TYPE"
Harald Hoyer 3957aa
-            return 1
Harald Hoyer 3957aa
-        fi
Harald Hoyer 3957aa
-        if fstype=$(find_dev_fstype $1); then
Harald Hoyer 3957aa
-            echo "$1|$fstype"
Harald Hoyer 3957aa
-            return 1
Harald Hoyer 3957aa
-        fi
Harald Hoyer 3957aa
-        return 1
Harald Hoyer 3957aa
-    )
Harald Hoyer 3957aa
-
Harald Hoyer 3957aa
-    for line in "${fstab_lines[@]}"; do
Harald Hoyer 3957aa
-        set -- $line
Harald Hoyer 3957aa
-        #dev mp fs fsopts
Harald Hoyer 3957aa
-        dev="$(get_maj_min $1)"
Harald Hoyer 3957aa
-        push host_devs "${dev:-$1}"
Harald Hoyer 3957aa
-        push host_fs_types "$dev|$3"
Harald Hoyer 3957aa
-    done
Harald Hoyer 3957aa
-
Harald Hoyer 3957aa
-    for f in $add_fstab; do
Harald Hoyer 3957aa
-        [ -e $f ] || continue
Harald Hoyer 3957aa
-        while read dev rest; do
Harald Hoyer 3957aa
-            push host_devs $dev
Harald Hoyer 3957aa
-        done < $f
Harald Hoyer 3957aa
-    done
Harald Hoyer 3957aa
-
Harald Hoyer 3957aa
     push host_mp \
Harald Hoyer 3957aa
         "/" \
Harald Hoyer 3957aa
         "/etc" \
Harald Hoyer 3957aa
@@ -573,17 +558,31 @@ if [[ $hostonly ]]; then
Harald Hoyer 3957aa
         mountpoint "$mp" >/dev/null 2>&1 || continue
Harald Hoyer 3957aa
         push host_devs $(find_block_device "$mp")
Harald Hoyer 3957aa
     done
Harald Hoyer 3957aa
-    for dev in "${host_devs[@]}"; do
Harald Hoyer 3957aa
-        unset fs_type
Harald Hoyer 3957aa
-        for fstype in $(_get_fs_type $dev) \
Harald Hoyer 3957aa
-            $(check_block_and_slaves _get_fs_type $dev); do
Harald Hoyer 3957aa
-            if ! strstr " ${host_fs_types[*]} " " $fstype ";then
Harald Hoyer 3957aa
-                push host_fs_types "$fstype"
Harald Hoyer 3957aa
-            fi
Harald Hoyer 3957aa
-        done
Harald Hoyer 3957aa
-    done
Harald Hoyer 3957aa
 fi
Harald Hoyer 3957aa
 
Harald Hoyer 3957aa
+_get_fs_type() (
Harald Hoyer 3957aa
+    [[ $1 ]] || return
Harald Hoyer 3957aa
+    if [[ -b /dev/block/$1 ]] && get_fs_env /dev/block/$1; then
Harald Hoyer 3957aa
+        echo "$1|$ID_FS_TYPE"
Harald Hoyer 3957aa
+        return 1
Harald Hoyer 3957aa
+    fi
Harald Hoyer 3957aa
+    if fstype=$(find_dev_fstype $1); then
Harald Hoyer 3957aa
+        echo "$1|$fstype"
Harald Hoyer 3957aa
+        return 1
Harald Hoyer 3957aa
+    fi
Harald Hoyer 3957aa
+    return 1
Harald Hoyer 3957aa
+)
Harald Hoyer 3957aa
+
Harald Hoyer 3957aa
+for dev in "${host_devs[@]}"; do
Harald Hoyer 3957aa
+    unset fs_type
Harald Hoyer 3957aa
+    for fstype in $(_get_fs_type $dev) \
Harald Hoyer 3957aa
+        $(check_block_and_slaves _get_fs_type $dev); do
Harald Hoyer 3957aa
+        if ! strstr " ${host_fs_types[*]} " " $fstype ";then
Harald Hoyer 3957aa
+            push host_fs_types "$fstype"
Harald Hoyer 3957aa
+        fi
Harald Hoyer 3957aa
+    done
Harald Hoyer 3957aa
+done
Harald Hoyer 3957aa
+
Harald Hoyer 3957aa
 export initdir dracutbasedir dracutmodules drivers \
Harald Hoyer 3957aa
     fw_dir drivers_dir debug no_kernel kernel_only \
Harald Hoyer 3957aa
     add_drivers mdadmconf lvmconf filesystems \