ia64/xen-unstable

view tools/examples/block-enbd @ 6946:e703abaf6e3d

Add behaviour to the remove methods to remove the transaction's path itself. This allows us to write Remove(path) to remove the specified path rather than having to slice the path ourselves.
author emellor@ewan
date Sun Sep 18 14:42:13 2005 +0100 (2005-09-18)
parents 3233e7ecfa9f
children 06d84bf87159
line source
1 #!/bin/sh
3 # Usage: block-enbd [bind server ctl_port |unbind node]
4 #
5 # The file argument to the bind command is the file we are to bind to a
6 # loop device.
7 #
8 # The node argument to unbind is the name of the device node we are to
9 # unbind.
10 #
11 # This assumes you're running a correctly configured server at the other end!
13 set -e
15 case $1 in
16 bind)
17 for dev in /dev/nd*; do
18 if nbd-client $2:$3 $dev; then
19 major=$(stat -L -c %t "$dev")
20 minor=$(stat -L -c %T "$dev")
21 pdev=$(printf "0x%02x%02x" 0x$major 0x$minor)
22 xenstore-write "$XENBUS_PATH"/physical-device $pdev \
23 "$XENBUS_PATH"/node $dev
24 exit 0
25 fi
26 done
27 exit 1
28 ;;
29 unbind)
30 nbd-client -d $2
31 exit 0
32 ;;
33 esac