[BLKTAP] Fix hotplug script to check if specified file exists.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Thu, 9 Nov 2006 13:43:21 +0000 (13:43 +0000)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Thu, 9 Nov 2006 13:43:21 +0000 (13:43 +0000)
Now users will see the following error:

[root@bebop ~]# xm create -c 128
Using config file "/etc/xen/128".
Error: Device 51713 (tap) could not be connected.
/tmp/128.img does not exist

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
tools/examples/blktap

index 4af928605550d441f02a0c4951f20294d6318bd2..bc25b48be26ac96055cfd80a142073ad72e8fa6f 100644 (file)
@@ -4,12 +4,26 @@
 
 dir=$(dirname "$0")
 . "$dir/xen-hotplug-common.sh"
+. "$dir/block-common.sh"
 
 findCommand "$@"
 
+t=$(xenstore_read_default "$XENBUS_PATH/type" 'MISSING')
+if [ -n "$t" ]
+then
+    p=$(xenstore_read "$XENBUS_PATH/params")
+    # if we have a ':', chew from head including :
+    if echo $p | grep -q \:
+    then
+        p=${p#*:}
+    fi
+fi
+file=$(readlink -f "$p") || ebusy "$p does not exist."
+
 if [ "$command" = 'add' ]
 then
-  success
+    [ -e "$file" ] || { ebusy $file does not exist; }
+    success
 fi
 
 exit 0