From: Harald Hoyer Date: Fri, 28 Jul 2017 13:14:17 +0000 (+0200) Subject: nbd: use systemd-run to start nbd-client X-Git-Tag: 046~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9fd0461b7d632c8e30f5241fff8306359b592438;p=thirdparty%2Fdracut.git nbd: use systemd-run to start nbd-client --- diff --git a/modules.d/95nbd/nbdroot.sh b/modules.d/95nbd/nbdroot.sh index 7057f2332..697387a61 100755 --- a/modules.d/95nbd/nbdroot.sh +++ b/modules.d/95nbd/nbdroot.sh @@ -109,9 +109,25 @@ if strstr "$(nbd-client --help 2>&1)" "systemd-mark"; then fi if [ "$nbdport" -gt 0 ] 2>/dev/null; then - nbd-client "$nbdserver" $nbdport /dev/nbd0 $preopts $opts || exit 1 + if [ -z "$DRACUT_SYSTEMD" ]; then + nbd-client "$nbdserver" $nbdport /dev/nbd0 $preopts $opts || exit 1 + else + systemd-run --no-block --service-type=forking --quiet \ + --description="nbd nbd0" \ + -p 'DefaultDependencies=no' \ + -p 'KillMode=none' \ + --unit="nbd0" -- nbd-client "$nbdserver" $nbdport /dev/nbd0 $preopts $opts >/dev/null 2>&1 || exit 1 + fi else - nbd-client -name "$nbdport" "$nbdserver" /dev/nbd0 $preopts $opts || exit 1 + if [ -z "$DRACUT_SYSTEMD" ]; then + nbd-client -name "$nbdport" "$nbdserver" /dev/nbd0 $preopts $opts || exit 1 + else + systemd-run --no-block --service-type=forking --quiet \ + --description="nbd nbd0" \ + -p 'DefaultDependencies=no' \ + -p 'KillMode=none' \ + --unit="nbd0" -- nbd-client -name "$nbdport" "$nbdserver" /dev/nbd0 $preopts $opts >/dev/null 2>&1 || exit 1 + fi fi # NBD doesn't emit uevents when it gets connected, so kick it