|
Harald Hoyer |
4f714a |
From c7c8c4981ac3a0258ff053fdd02cfe17a11710da Mon Sep 17 00:00:00 2001
|
|
Harald Hoyer |
4f714a |
From: Harald Hoyer <harald@redhat.com>
|
|
Harald Hoyer |
4f714a |
Date: Tue, 9 Aug 2016 15:26:04 +0200
|
|
Harald Hoyer |
4f714a |
Subject: [PATCH] dracut-functions.sh: catch all lvm slaves
|
|
Harald Hoyer |
4f714a |
|
|
Harald Hoyer |
4f714a |
add check_vol_slaves_all to be used in check_block_and_slaves_all
|
|
Harald Hoyer |
4f714a |
|
|
Harald Hoyer |
4f714a |
otherwise only the first lvm VG member would be processed
|
|
Harald Hoyer |
4f714a |
|
|
Harald Hoyer |
4f714a |
(cherry picked from commit 7a7b8c174023886b015bd484372839aecf63f324)
|
|
Harald Hoyer |
4f714a |
---
|
|
Harald Hoyer |
4f714a |
dracut-functions.sh | 25 ++++++++++++++++++++++++-
|
|
Harald Hoyer |
4f714a |
1 file changed, 24 insertions(+), 1 deletion(-)
|
|
Harald Hoyer |
4f714a |
|
|
Harald Hoyer |
4f714a |
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
Harald Hoyer |
4f714a |
index 4496bfe..249d8fb 100755
|
|
Harald Hoyer |
4f714a |
--- a/dracut-functions.sh
|
|
Harald Hoyer |
4f714a |
+++ b/dracut-functions.sh
|
|
Harald Hoyer |
4f714a |
@@ -507,7 +507,7 @@ check_block_and_slaves_all() {
|
|
Harald Hoyer |
4f714a |
if ! lvm_internal_dev $2 && "$1" $2; then
|
|
Harald Hoyer |
4f714a |
_ret=0
|
|
Harald Hoyer |
4f714a |
fi
|
|
Harald Hoyer |
4f714a |
- check_vol_slaves "$@" && return 0
|
|
Harald Hoyer |
4f714a |
+ check_vol_slaves_all "$@" && return 0
|
|
Harald Hoyer |
4f714a |
if [[ -f /sys/dev/block/$2/../dev ]]; then
|
|
Harald Hoyer |
4f714a |
check_block_and_slaves_all $1 $(<"/sys/dev/block/$2/../dev") && _ret=0
|
|
Harald Hoyer |
4f714a |
fi
|
|
Harald Hoyer |
4f714a |
@@ -580,6 +580,29 @@ check_vol_slaves() {
|
|
Harald Hoyer |
4f714a |
return 1
|
|
Harald Hoyer |
4f714a |
}
|
|
Harald Hoyer |
4f714a |
|
|
Harald Hoyer |
4f714a |
+check_vol_slaves_all() {
|
|
Harald Hoyer |
4f714a |
+ local _lv _vg _pv
|
|
Harald Hoyer |
4f714a |
+ for i in /dev/mapper/*; do
|
|
Harald Hoyer |
4f714a |
+ [[ $i == /dev/mapper/control ]] && continue
|
|
Harald Hoyer |
4f714a |
+ _lv=$(get_maj_min $i)
|
|
Harald Hoyer |
4f714a |
+ if [[ $_lv = $2 ]]; then
|
|
Harald Hoyer |
4f714a |
+ _vg=$(lvm lvs --noheadings -o vg_name $i 2>/dev/null)
|
|
Harald Hoyer |
4f714a |
+ # strip space
|
|
Harald Hoyer |
4f714a |
+ _vg="${_vg//[[:space:]]/}"
|
|
Harald Hoyer |
4f714a |
+ if [[ $_vg ]]; then
|
|
Harald Hoyer |
4f714a |
+ for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2>/dev/null)
|
|
Harald Hoyer |
4f714a |
+ do
|
|
Harald Hoyer |
4f714a |
+ check_block_and_slaves_all $1 $(get_maj_min $_pv)
|
|
Harald Hoyer |
4f714a |
+ done
|
|
Harald Hoyer |
4f714a |
+ return 0
|
|
Harald Hoyer |
4f714a |
+ fi
|
|
Harald Hoyer |
4f714a |
+ fi
|
|
Harald Hoyer |
4f714a |
+ done
|
|
Harald Hoyer |
4f714a |
+ return 1
|
|
Harald Hoyer |
4f714a |
+}
|
|
Harald Hoyer |
4f714a |
+
|
|
Harald Hoyer |
4f714a |
+
|
|
Harald Hoyer |
4f714a |
+
|
|
Harald Hoyer |
4f714a |
# fs_get_option <filesystem options> <search for option>
|
|
Harald Hoyer |
4f714a |
# search for a specific option in a bunch of filesystem options
|
|
Harald Hoyer |
4f714a |
# and return the value
|