summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/xen/files/xen.examples/scripts/block-nbd
diff options
context:
space:
mode:
authorMichael Janczyk2010-08-18 22:00:51 +0200
committerMichael Janczyk2010-08-18 22:00:51 +0200
commit304f7d60e1bbe0098a6c0aaf64c8e352025cffe4 (patch)
tree85cfe26dbddadef9c469dff24635b5d1989c82b9 /os-plugins/plugins/xen/files/xen.examples/scripts/block-nbd
parentupdate makefile to install squashfs binaries (diff)
parentMerge branch 'master' into vmgrid (diff)
downloadcore-304f7d60e1bbe0098a6c0aaf64c8e352025cffe4.tar.gz
core-304f7d60e1bbe0098a6c0aaf64c8e352025cffe4.tar.xz
core-304f7d60e1bbe0098a6c0aaf64c8e352025cffe4.zip
Merge branch 'vmgrid'
Diffstat (limited to 'os-plugins/plugins/xen/files/xen.examples/scripts/block-nbd')
-rwxr-xr-xos-plugins/plugins/xen/files/xen.examples/scripts/block-nbd34
1 files changed, 34 insertions, 0 deletions
diff --git a/os-plugins/plugins/xen/files/xen.examples/scripts/block-nbd b/os-plugins/plugins/xen/files/xen.examples/scripts/block-nbd
new file mode 100755
index 00000000..d4571152
--- /dev/null
+++ b/os-plugins/plugins/xen/files/xen.examples/scripts/block-nbd
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Usage: block-nbd [bind server ctl_port |unbind node]
+#
+# 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!
+
+dir=$(dirname "$0")
+. "$dir/block-common.sh"
+
+#set -x
+par=`xenstore-read $XENBUS_PATH/params` || true
+#echo $par
+
+case "$command" in
+ add)
+ modprobe nbd
+ for dev in /dev/nbd*; do
+ if nbd-client $par $dev; then
+ xenstore-write $XENBUS_PATH/node $dev
+ write_dev $dev
+ exit 0
+ fi
+ done
+ exit 1
+ ;;
+ remove)
+ node=`xenstore-read $XENBUS_PATH/node` || true
+ nbd-client -d $node
+ exit 0
+ ;;
+esac