#!/bin/sh

IP=$(ip -o addr show | awk '$3 == "inet" && $4 !~ /^127\./ { print $4 }' | sed -e 's,/[0-9][0-9]*\>,,g')
PORT=$(($(echo $IP|sed -e 's/.*\.//')+65000))
SWAPFILE=/tmp/${IP}.swap
SSH_COMMAND="ssh -S /tmp/.ltspfs-socket server"
SIZE=32

while true; do
	if [ -S /tmp/.ltspfs-socket ]; then
		if [ -n $1 ]; then
			SIZE=$1
		fi
		
		if [ -z "$(${SSH_COMMAND} netstat -anp 2>/dev/null|grep $PORT|grep -v TIME_WAIT)" ]; then
		    ${SSH_COMMAND} dd if=/dev/zero of=${SWAPFILE} bs=1M count=${SIZE} >/dev/null 2>&1 
		    ${SSH_COMMAND} mkswap ${SWAPFILE}  >/dev/null 2>&1
		    ${SSH_COMMAND} nbd-server ${PORT} ${SWAPFILE} ${SIZE}m >/dev/null 2>&1
		fi
		nbd-client server $PORT /dev/nbd0 >/dev/null 2>&1
		swapon /dev/nbd0
		exit 0
	else
		sleep 10
	fi
done
