+++ /dev/null
-#!/bin/sh
-#Unmount a mounted MNTPT.
-# By Alan M Bruce (qole)
-#
-# GPL licensed; keep code free!
-
-if [ "`whoami`" != "root" ] ; then
- echo "please run me as root!"
- exit 9
-fi
-
-#Try to get the MNTPT location from the first parameter
-MNTPT=$1
-
-#Try to get the MNTPT location from the config file...
-if [ "x$MNTPT" = x ] ; then
- #Pull in the config, if possible...
- [ -f /home/user/.chroot ] && . /home/user/.chroot
- MNTPT=$CHROOT
- #Still not set? FAIL
- if [ "x$MNTPT" != x ] ; then
- echo "No mountpoint to unmount!" >/dev/stderr
- exit 8
- fi
-fi
-
-# Strip off a trailing slash
-LASTCHAR=`echo $MNTPT | cut -c ${#MNTPT}`
-if [ "$LASTCHAR" = "/" ] ; then
- echo "..stripping trailing slash..." >/dev/stderr
- MNTPT=`echo $MNTPT | cut -c 0-$((${#MNTPT}-1))`
-fi
-
-TEST1=`mount | grep " $MNTPT "`
-
-if [ "x$TEST1" != "x" ] ; then
- echo "..Unmounting $MNTPT..." >/dev/stderr
- umount -ld "$MNTPT"
-
- TEST2=`mount | grep " $MNTPT "`
-
- if [ "x$TEST2" != "x" ] ; then
- echo "...$MNTPT didn't unmount!" >/dev/stderr
- exit 8
- fi
-else
- echo "$MNTPT is not mounted; Check for trailing slashes." >/dev/stderr
-fi
-
-if [ ! "x`grep device-mapper /proc/misc`" = "x" ] ; then
- LOOPDEV=`echo $TEST1 | cut -f1 -d' '`
- while [ "x`echo $LOOPDEV | grep dm-`" != "x" ] ; do
- LOOPNO=`echo $LOOPDEV | awk -F '-' '{print $NF}'`
- echo "..Unmounting turbo loop ($LOOPNO)..." >/dev/stderr
- dmlosetup -d /dev/loop$LOOPNO
- if [ "$?" != 0 ] || [ "x`dmsetup status | grep loop$LOOPNO`" != "x" ] ; then
- echo "Waiting for apps to terminate, will try again." >/dev/stderr
- sleep 5
- dmlosetup -d /dev/loop$LOOPNO
- if [ "$?" != 0 ] ; then
- echo "Can't unmount turbo-loop! Try dmlosetup -d /dev/loop$LOOPNO manually." >/dev/stderr
- exit 9
- fi
- fi
- LOOPDEV=`mount | grep " $MNTPT " | cut -f1 -d' '`
- done
-fi
-
-echo "successful unmount..." >/dev/stderr
-exit 0