From c809a196b3f73dd7094964f5b81b2d63ff50f0ba Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Thu, 14 Jan 2016 11:25:34 +0000 Subject: [PATCH] clean up 9p virtio init to check which drivers are available Signed-off-by: Justin Cormack --- alpine/packages/9pinit/etc/init.d/9pinit | 27 +++++++++++++++----- alpine/packages/9pudc/etc/init.d/9pudc | 5 ++++ alpine/packages/9pudfuse/etc/init.d/9pudfuse | 4 +++ 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/alpine/packages/9pinit/etc/init.d/9pinit b/alpine/packages/9pinit/etc/init.d/9pinit index e2710ebf8..4db42449d 100755 --- a/alpine/packages/9pinit/etc/init.d/9pinit +++ b/alpine/packages/9pinit/etc/init.d/9pinit @@ -3,11 +3,26 @@ start() { ebegin "Mounting 9p sockets" - mkdir -p /Socket - mount -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 socket /Socket - mkdir -p /Mac - mount -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000.u plan9 /Mac - mkdir -p /Transfuse - mount -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 fuse /Transfuse + + for virtio in $(find /sys/bus/virtio/drivers/9pnet_virtio -name 'virtio*') + do + TAG=$(cat $virtio/mount_tag) + case $TAG in + "socket") + mkdir -p /Socket + mount -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 socket /Socket + ;; + "plan9") + mkdir -p /Mac + mount -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000.u plan9 /Mac + ;; + "fuse") + mkdir -p /Transfuse + mount -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 fuse /Transfuse + ;; + esac + + done + eend 0 } diff --git a/alpine/packages/9pudc/etc/init.d/9pudc b/alpine/packages/9pudc/etc/init.d/9pudc index 3b52bc90e..df5db3d65 100755 --- a/alpine/packages/9pudc/etc/init.d/9pudc +++ b/alpine/packages/9pudc/etc/init.d/9pudc @@ -9,6 +9,9 @@ depend() start() { + + [ -d /Socket ] || exit 0 + ebegin "Starting docker socket passthrough" [ -n "${PIDFILE}" ] || PIDFILE=/var/run/9pudc.pid @@ -24,6 +27,8 @@ start() stop() { + [ -d /Socket ] || exit 0 + ebegin "Stopping docker socket passthrough" [ -n "${PIDFILE}" ] || PIDFILE=/var/run/9pudc.pid diff --git a/alpine/packages/9pudfuse/etc/init.d/9pudfuse b/alpine/packages/9pudfuse/etc/init.d/9pudfuse index 85034479c..abedced8a 100755 --- a/alpine/packages/9pudfuse/etc/init.d/9pudfuse +++ b/alpine/packages/9pudfuse/etc/init.d/9pudfuse @@ -9,6 +9,8 @@ depend() start() { + [ -d /Transfuse ] || exit 0 + ebegin "Starting FUSE socket passthrough" [ -n "${PIDFILE}" ] || PIDFILE=/var/run/9pudfuse.pid @@ -23,6 +25,8 @@ start() stop() { + [ -d /Transfuse ] || exit 0 + ebegin "Stopping FUSE socket passthrough" [ -n "${PIDFILE}" ] || PIDFILE=/var/run/9pudfuse.pid