summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xextras/path_id/path_id27
1 files changed, 27 insertions, 0 deletions
diff --git a/extras/path_id/path_id b/extras/path_id/path_id
index d21dea7011..7b4973fa03 100755
--- a/extras/path_id/path_id
+++ b/extras/path_id/path_id
@@ -129,6 +129,30 @@ handle_platform () {
RESULT=0
}
+handle_xen () {
+ local DEV=$1
+ cd -P $1
+ vbd_id=${DEV##*/}
+ host_dev_path=$DEV
+ while [ ! -z "$host_dev_path" ] ; do
+ case "$host_dev_path" in
+ */vbd*)
+ host_dev_path=${host_dev_path%/*}
+ ;;
+ *)
+ break
+ ;;
+ esac
+ done
+ if [ "$d" ]; then
+ d="xen-$vbd_id-$d"
+ else
+ d="xen-$vbd_id"
+ fi
+ D="$host_dev_path"
+ RESULT=0
+}
+
handle_serio () {
local DEV=$1
cd -P $1
@@ -532,6 +556,9 @@ handle_device () {
*/platform/*)
handle_platform "$D"
;;
+ */vbd-[0-9]*)
+ handle_xen "$D"
+ ;;
*/devices)
D=
;;