From ab17cb851579476dc355aa7e812aacfd82d82aeb Mon Sep 17 00:00:00 2001 From: Kairui Song Date: Tue, 13 Oct 2020 16:17:11 +0800 Subject: [PATCH] dracut-functions.sh: Fix check_block_and_slaves_all check_block_and_slaves_all $func $dev should return 0, if $func return 0 for any checked device. Currently if any device don't have any sub device, 1 is returned instead. So remove the sub device checking statement. Also remove the same statement in check_block_and_slaves, the "[[ -f $_x/dev ]]" in the for loop is enought to ensure sub device exists. Signed-off-by: Kairui Song --- dracut-functions.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/dracut-functions.sh b/dracut-functions.sh index 530452068..a8887dcc6 100755 --- a/dracut-functions.sh +++ b/dracut-functions.sh @@ -526,7 +526,6 @@ check_block_and_slaves() { if [[ -f /sys/dev/block/$2/../dev ]] && [[ /sys/dev/block/$2/../subsystem -ef /sys/class/block ]]; then check_block_and_slaves $1 $(<"/sys/dev/block/$2/../dev") && return 0 fi - [[ -d /sys/dev/block/$2/slaves ]] || return 1 for _x in /sys/dev/block/$2/slaves/*; do [[ -f $_x/dev ]] || continue [[ $_x/subsystem -ef /sys/class/block ]] || continue @@ -545,7 +544,6 @@ check_block_and_slaves_all() { if [[ -f /sys/dev/block/$2/../dev ]] && [[ /sys/dev/block/$2/../subsystem -ef /sys/class/block ]]; then check_block_and_slaves_all $1 $(<"/sys/dev/block/$2/../dev") && _ret=0 fi - [[ -d /sys/dev/block/$2/slaves ]] || return 1 for _x in /sys/dev/block/$2/slaves/*; do [[ -f $_x/dev ]] || continue [[ $_x/subsystem -ef /sys/class/block ]] || continue -- 2.47.3