#/**
#         ogr UnmountFs int_ndisk int_nfilesys
#@brief   Desmonta un sistema de archivos.
#@param   int_ndisk     nº de orden del disco
#@param   int_nfilesys  nº de orden de la partición
#@return  Nada
#@exception OG_ERR_FORMAT    Formato incorrecto.
#@exception OG_ERR_NOTFOUND  Sistema de archivos no corresponden con un dispositivo.
#@warning La partición no está previamente montada o no se puede desmontar.
#@version 0.1 -  Integracion para Opengnsys  -  EAC:  UmountPartition() en FileSystem.lib
#@author  Antonio J. Doblas Viso. Universidad de Malaga
#@date    2008-10-27
#@version 0.9 - Primera version para OpenGNSys.
#@author  Ramon Gomez, ETSII Universidad de Sevilla
#@date    2009-09-28
#*/ ##
# Variables locales
local DEV MNTDIR

# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
    ogr Help "$FUNCNAME" "$FUNCNAME int_ndisk int_nfilesys" "$FUNCNAME 1 1"
    return
fi
# Error si no se reciben 2 parámetros.
[ $# == 2 ] || ogr RaiseError $OG_ERR_FORMAT || return $?

# Obtener punto de montaje del sistema de archivos.
DEV="$(ogr DiskToDev $1 $2)" || return $?
MNTDIR="$(ogr GetMountPoint $1 $2)"

# Si está montado, desmontarlo.
if [ -n "$MNTDIR" ]; then
    # Error si la particion está bloqueada.
    ogr IsLocked $1 $2 && ogr RaiseError $OG_ERR_LOCKED "$1 $2" && return $?
    # Desmontar y borrar punto de montaje. 
    umount $DEV 2>/dev/null || ogr Echo warning "$FUNCNAME: $MSG_DONTUNMOUNT: \"$1,$2\"" 
    rmdir $MNTDIR 2>/dev/null || rm -f $MNTDIR 2>/dev/null 
else
    ogr Echo warning "$FUNCNAME: $MSG_DONTMOUNT: \"$1,$2\""
fi
