1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#!/bin/bash
#
# Share a directory tree with an overlay-boot subhost
#
# $1 = directory $2 = subhost
set -e
. $(dirname $(realpath $0))/functions
if [ ! -d "$1" ] ; then
echo "** Not a directory: $1" >&2
exit 1
fi
SHARE="$1"
NAME="$2"
[ -z "$NAME" ] && echo "Select subhost: $(list_running)" && exit 0
read USPID RSPID <<EOF
$(is_live $NAME)
EOF
[ -z "$USPID" ] && echo "$NAME is not running" >&2 && exit 1
if [ -z "$RSPID" ] ; then
cat <<EOF >&2
*** $NAME is started (pid $USPID) but doesn't seem to be running
*** /.reaper and might need manual fixing.
EOF
exit 1
fi
sudo nsenter -t "$RSPID" -n -m -p /bin/bash <<EOF
set -e
LIVE=\$(awk '\$1=="$NAME" && \$3=="overlay" {print \$2;}' < /proc/mounts)
[ -d "\$LIVE" ] && mount --bind $SHARE "\$LIVE$SHARE"
EOF
echo "Sharing $SHARE with subhost $NAME"
exit 0
|