summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2016-09-19 11:27:59 +0000
committerramon <ramongomez@us.es>2016-09-19 11:27:59 +0000
commitae4c52523f6b5b20880247da8c9914f98244df8f (patch)
treee54f7db6f3ad65b404dbaa19ebd1d683acb7adf7
parentfb5338cc36ee2c7104da40ac3861bdeadd217628 (diff)
#731: Montar sistema de archivos NTFS marcado como hibernado.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5004 a21b9725-9963-47de-94b9-378ad31fedc9
-rwxr-xr-xclient/engine/FileSystem.lib20
1 files changed, 15 insertions, 5 deletions
diff --git a/client/engine/FileSystem.lib b/client/engine/FileSystem.lib
index 8e94c539..40640e51 100755
--- a/client/engine/FileSystem.lib
+++ b/client/engine/FileSystem.lib
@@ -730,9 +730,9 @@ esac
#@version 1.0.5 - Independiente del tipo de sistema de ficheros.
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2012-09-04
-#@version 1.1.0 - Montar sistema de archivos ZFS.
+#@version 1.1.0 - Montar sistema de archivos ZFS y NTFS hibernado.
#@author Ramon Gomez, ETSII Universidad de Sevilla
-#@date 2014-11-14
+#@date 2016-09-19
#*/ ##
function ogMountFs ()
{
@@ -774,9 +774,19 @@ if [ -z "$MNTDIR" ]; then
unset DEBUG
# Montar sistema de archivos.
mount $PART $MNTDIR &>/dev/null || \
- mount $PART $MNTDIR -o force,remove_hiberfile &>/dev/null || \
- mount $PART $MNTDIR -o ro &>/dev/null || \
- ogRaiseError $OG_ERR_PARTITION "$1, $2" || return $?
+ mount $PART $MNTDIR -o force,remove_hiberfile &>/dev/null
+ case $? in
+ 0) # Correcto.
+ ;;
+ 14) # Intentar limpiar hibernaciĆ³n NTFS y montar.
+ ntfsfix -d $PART &>/dev/null && mount $PART $MNTDIR &>/dev/null || \
+ ogRaiseError $OG_ERR_PARTITION "$1, $2" || return $?
+ ;;
+ *) # Probar montaje de solo lectura.
+ mount $PART $MNTDIR -o ro &>/dev/null || \
+ ogRaiseError $OG_ERR_PARTITION "$1, $2" || return $?
+ ;;
+ esac
# Aviso de montaje de solo lectura.
if ogIsReadonly $1 $2; then
ogEcho warning "$FUNCNAME: $MSG_MOUNTREADONLY: \"$1, $2\""