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