#!/bin/sh

# Usage: block_loop [bind file|unbind node]
#
# The file argument to the bind command is the file we are to bind to a
# loop device.  We print the path to the loop device node to stdout.
#
# The node argument to unbind is the name of the device node we are to
# unbind.

case $1 in
	bind)
		for dev in /dev/loop*; do
			if losetup $dev $2; then
				echo $dev
				exit 0
			fi
		done
		exit 1
	;;

	unbind)
		losetup -d $2
		exit 0
	;;

	*)
		echo 'Unknown command: ' $1
		echo 'Valid commands are: bind, unbind'
		exit 1
esac
