diff options
author | ramon <ramongomez@us.es> | 2016-04-21 11:46:12 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2016-04-21 11:46:12 +0000 |
commit | c01bee2d933031caa506accc1794c16a88031f86 (patch) | |
tree | 5715d230f6d9f323d57fde8a47b8911816104905 | |
parent | e8d646ce706912694674de27c23c6f8b8bbc111f (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
-rwxr-xr-x | client/engine/Disk.lib | 19 |
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 } |