X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fpath_id%2Fpath_id;h=7b4973fa038a4df73f80b5e3258891430ed9a792;hb=b4fa1b67f86c9555cbb41c57774761730f6b8939;hp=d21dea70117b8fb91fe28fc80f42d504aedc73af;hpb=6a481373b490604c54800e665f806e90b028b136;p=elogind.git diff --git a/extras/path_id/path_id b/extras/path_id/path_id index d21dea701..7b4973fa0 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= ;;