fix(multipath): revise multipathd-stop

A shellcheck regression quoted `HARD` in
```shell
    kill "$HARD" "$pid" > /dev/null 2>&1
```

which would error on an empty "HARD".

Instead of fixing this, use `pkill` instead and also add it to the
non-optional list of binaries to install, which was revised also.

Fixes: https://github.com/dracutdevs/dracut/issues/1275
master
Harald Hoyer 2021-03-31 10:18:27 +02:00 committed by Harald Hoyer
parent 85378f44af
commit 7b8c78ff43
2 changed files with 17 additions and 11 deletions

View File

@ -74,14 +74,18 @@ install() {
fi
}

inst_multiple -o \
dmsetup \
inst_multiple \
pkill \
pidof \
kpartx \
dmsetup \
multipath \
multipathd

inst_multiple -o \
mpath_wait \
mpathconf \
mpathpersist \
multipath \
multipathd \
xdrgetprio \
xdrgetuid \
/etc/xdrdevices.conf \

View File

@ -1,11 +1,13 @@
#!/bin/sh

if [ -e /etc/multipath.conf ]; then
HARD=""
while pidof multipathd > /dev/null 2>&1; do
for pid in $(pidof multipathd); do
kill "$HARD" "$pid" > /dev/null 2>&1
done
HARD="-9"
done
pkill multipathd > /dev/null 2>&1

if pidof multipathd > /dev/null 2>&1; then
sleep 0.2
fi

if pidof multipathd > /dev/null 2>&1; then
pkill -9 multipathd > /dev/null 2>&1
fi
fi