summaryrefslogtreecommitdiffstats
path: root/client/engine/Disk.lib
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2016-04-21 11:46:12 +0000
committerramon <ramongomez@us.es>2016-04-21 11:46:12 +0000
commitc01bee2d933031caa506accc1794c16a88031f86 (patch)
tree5715d230f6d9f323d57fde8a47b8911816104905 /client/engine/Disk.lib
parente8d646ce706912694674de27c23c6f8b8bbc111f (diff)
#724: Sustituir {{{sfdisk}}} por {{{partx}}} en función {{{ogGetPartitionSize}}} para reducir el código y solucionar el problema del cambio de formato de salida de {{{sfdisk}}} en Ubuntu 15.10.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@4892 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/engine/Disk.lib')
-rwxr-xr-xclient/engine/Disk.lib19
1 files changed, 7 insertions, 12 deletions
diff --git a/client/engine/Disk.lib b/client/engine/Disk.lib
index b20b3755..56031e83 100755
--- a/client/engine/Disk.lib
+++ b/client/engine/Disk.lib
@@ -759,11 +759,14 @@ echo $ID
#@version 0.9 - Primera version para OpenGnSys
#@author Ramon Gomez, ETSII Universidad de Sevilla
#@date 2009/07/24
+#@version 1.1.0 - Sustituir "sfdisk" por "partx".
+#@author Ramon Gomez, ETSII Universidad de Sevilla
+#@date 2016/04/21
#*/ ##
function ogGetPartitionSize ()
{
# Variables locales.
-local DISK PART
+local PART
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
@@ -774,18 +777,10 @@ fi
# Error si no se reciben 2 parámetros.
[ $# == 2 ] || ogRaiseError $OG_ERR_FORMAT || return $?
-# Obtener el tamaño de la partición.
-DISK="$(ogDiskToDev $1)" || return $?
+# Devolver tamaño de partición o del sistema de archivos (para ZFS).
PART="$(ogDiskToDev $1 $2)" || return $?
-case "$(ogGetPartitionId $1 $2)" in
- 5|f) # Procesar detección de tamaño de partición Extendida.
- sfdisk -l $DISK 2>/dev/null | \
- awk -v p=$PART '{if ($1==p) {sub (/[^0-9]+/,"",$5); print $5} }'
- ;;
- *) # Devolver tamaño de partición o del sistema de archivos (para ZFS).
- sfdisk -s $PART 2>/dev/null || ogGetFsSize $1 $2
- ;;
-esac
+partx -gbo SIZE $PART 2>/dev/null | awk '{print $1/1024}'
+[ ${PIPESTATUS[0]} -ne 0 ] && ogGetFsSize $1 $2
}