Mailing List Archive

[PATCH] scripts/blktap: add check for file error
/etc/xen/scripts/bkltap doesn't bother to check if the file specified in
your config exists. The domain will launch and the root device is not
found. Rather than confuse the user, do some checking up-front and
error out when the specified file is not found.

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

--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253 T/L: 678-9253
ryanh@us.ibm.com


diffstat output:
blktap | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletion(-)

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
---
diff -r 5a41ea282c86 tools/examples/blktap
--- a/tools/examples/blktap Tue Nov 07 11:54:52 2006 +0000
+++ b/tools/examples/blktap Tue Nov 07 17:43:36 2006 -0600
@@ -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

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel