Introduce shorter temporary mountpoint names. Implement automatic deletion of temporary mountpoints.

This commit is contained in:
Slawomir Wojciech Wojtczak (vermaden) 2012-10-30 14:24:42 +01:00
parent 28252ff069
commit a476ca72a0
1 changed files with 9 additions and 3 deletions

12
beadm
View File

@ -426,7 +426,7 @@ case ${1} in
# do not change root (/) mounted boot environment mountpoint # do not change root (/) mounted boot environment mountpoint
if [ "${ROOTFS}" != "${POOL}/ROOT/${2}" ] if [ "${ROOTFS}" != "${POOL}/ROOT/${2}" ]
then then
TMPMNT=$( mktemp -d /tmp/beadm.${2}.XXXXXX ) TMPMNT=$( mktemp -d /tmp/BE-${2}.XXXXXX )
if ! mkdir -p ${TMPMNT} 2> /dev/null if ! mkdir -p ${TMPMNT} 2> /dev/null
then then
echo "ERROR: Cannot create '${TMPMNT}' directory" echo "ERROR: Cannot create '${TMPMNT}' directory"
@ -642,7 +642,7 @@ EOF
(mount) # ------------------------------------------------------------ (mount) # ------------------------------------------------------------
if [ ${#} -eq 2 ] if [ ${#} -eq 2 ]
then then
TARGET=$( mktemp -d /tmp/beadm.${2}.XXXXXX ) TARGET=$( mktemp -d /tmp/BE-${2}.XXXXXX )
elif [ ${#} -eq 3 ] elif [ ${#} -eq 3 ]
then then
TARGET=${3} TARGET=${3}
@ -720,7 +720,9 @@ EOF
echo "Boot environment '${2}' is not mounted" echo "Boot environment '${2}' is not mounted"
exit 1 exit 1
fi fi
mount \ MOUNT=$( mount )
MOUNTPOINT=$( echo "${MOUNT}" | grep -m 1 "^${POOL}/ROOT/${2} on " | awk '{print $3}' )
echo "${MOUNT}" \
| awk '{print $1}' \ | awk '{print $1}' \
| grep -E "^${POOL}/ROOT/${2}(/|$)" \ | grep -E "^${POOL}/ROOT/${2}(/|$)" \
| sort -n -r \ | sort -n -r \
@ -733,6 +735,10 @@ EOF
fi fi
done done
echo "Unmounted successfully" echo "Unmounted successfully"
if [ $( find ${MOUNTPOINT} | head | wc -l | bc ) -eq 1 ]
then
rm -r ${MOUNTPOINT}
fi
;; ;;
(*) # ----------------------------------------------------------------------- (*) # -----------------------------------------------------------------------