ia64/xen-unstable

view tools/examples/block-enbd @ 6766:219d96d545fc

merge?
author cl349@firebug.cl.cam.ac.uk
date Mon Sep 12 20:00:41 2005 +0000 (2005-09-12)
parents e9d01c5dc7b4 3b25e1de5efb
children 4d899a738d59 8ca0f98ba8e2
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