]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
dracut-functions.sh: Fix check_block_and_slaves_all
authorKairui Song <kasong@redhat.com>
Tue, 13 Oct 2020 08:17:11 +0000 (16:17 +0800)
committerHarald Hoyer <harald@hoyer.xyz>
Fri, 30 Oct 2020 09:13:37 +0000 (10:13 +0100)
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 <kasong@redhat.com>
dracut-functions.sh

index 5304520688792991c56704c84984d70c8a0c7154..a8887dcc66e9c66582f664cec49c432aa3aa7032 100755 (executable)
@@ -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