#!/bin/sh
# Make sure reboot doesn't attempt to kill important servers and nbd-clients

# Find all NBD devices currently mounted
while read line; do
	case $line in
	*nbd*)
		dev=`echo $line | (read dev junk; echo $dev)` 
		devs="$dev|$devs"
		;;
	esac
done < /proc/mounts

for I in /proc/[1-9]*; do
	read line junk < $I/cmdline
	case $line in
	*nbd-client*)
		nbds="$nbds $I/cmdline"
		;;
	*nandctl*)
		pids="$pids ${I##*/}"
		;;
	*sdctl*)
		pids="$pids ${I##*/}"
		;;
	*ts[1-9]*ctl*)
		pids="$pids ${I##*/}"
		;;
	esac
done

if [ "$nbds" != "" ]; then
  # Only nbd-clients of currently mounted filesystems are protected
  nbds=`grep -l -E "(${devs%|})" $nbds` 

  for I in $nbds; do
	I=${I%/cmdline}
	pids="$pids ${I##*/}"
  done
fi

# /etc/init.d/sendsigs looks in this directory
echo $pids > /lib/init/rw/sendsigs.omit.d/ts

