#!/bin/sh # Usage: block-enbd [bind server ctl_port |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. # # This assumes you're running a correctly configured server at the other end! case $1 in bind) for dev in /dev/nd*; do if nbd-client $2:$3 $dev; then echo $dev exit 0 fi done exit 1 ;; unbind) nbd-client -d $2 exit 0 ;; *) echo 'Unknown command: ' $1 >&2 echo 'Valid commands are: bind, unbind' >&2 exit 1 esac