diff options
author | ramon <ramongomez@us.es> | 2010-11-19 11:20:10 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2010-11-19 11:20:10 +0000 |
commit | 6d3f526c938e3b47e88e76ec3f3e7e63bc89bc29 (patch) | |
tree | 7c3972a032543b784b277c143e377c3dd19bc6e5 | |
parent | 7510561000e3c0b131cf3c6708764a83919013b3 (diff) |
Corregir errata en {{{ogCreatePartitions}}} solucioando pérdida del parámetro disco (Close #257).
Modificar script {{{createImage}}} para chequear el sistema de archivos.
git-svn-id: https://opengnsys.es/svn/trunk@1349 a21b9725-9963-47de-94b9-378ad31fedc9
-rwxr-xr-x | client/engine/Disk.lib | 16 | ||||
-rwxr-xr-x | client/nfsexport/scripts/createImage | 10 |
2 files changed, 14 insertions, 12 deletions
diff --git a/client/engine/Disk.lib b/client/engine/Disk.lib index ebd96815..9b361eb9 100755 --- a/client/engine/Disk.lib +++ b/client/engine/Disk.lib @@ -33,7 +33,7 @@ function ogCreatePartitions () { # Variables locales. -local DISK PART SECTORS CYLS START SIZE TYPE CACHEPART CACHESIZE EXTSTART EXTSIZE tmpsfdisk +local ND DISK PART SECTORS CYLS START SIZE TYPE CACHEPART CACHESIZE EXTSTART EXTSIZE tmpsfdisk # Si se solicita, mostrar ayuda. if [ "$*" == "help" ]; then ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk str_parttype:int_partsize ..." \ @@ -44,13 +44,14 @@ fi [ $# -ge 2 ] || ogRaiseError $OG_ERR_FORMAT || return $? # Nº total de sectores, para evitar desbordamiento (evitar redondeo). -DISK=$(ogDiskToDev "$1") || return $? +ND="$1" +DISK=$(ogDiskToDev "$ND") || return $? SECTORS=$(awk -v D=${DISK#/dev/} '{if ($4==D) {print $3*2}}' /proc/partitions) CYLS=$(sfdisk -g $DISK | cut -f2 -d" ") SECTORS=$[SECTORS/CYLS*CYLS-1] # Se recalcula el nº de sectores del disco 1, si existe partición de caché. CACHEPART=$(ogFindCache 2>/dev/null) -[ "$1" = "${CACHEPART% *}" ] && CACHESIZE=$(ogGetCacheSize 2>/dev/null | awk '{print $0*2}') +[ "$ND" = "${CACHEPART% *}" ] && CACHESIZE=$(ogGetCacheSize 2>/dev/null | awk '{print $0*2}') [ -n "$CACHESIZE" ] && SECTORS=$[SECTORS-CACHESIZE] ENDPART3=$(sfdisk -uS -l $DISK | awk -v P="${DISK}3" '{if ($1==P) print $3}') # Sector de inicio (la partición 1 empieza en el sector 63). @@ -68,7 +69,7 @@ echo >>$tmpsfdisk shift while [ $# -gt 0 ]; do # Conservar los datos de la partición de caché. - if [ "$1 $PART" = "$CACHEPART" -a -n "$CACHESIZE" ]; then + if [ "$ND $PART" == "$CACHEPART" -a -n "$CACHESIZE" ]; then echo "$DISK$PART : start=$[SECTORS+1], size=$CACHESIZE, Id=ca" >>$tmpsfdisk PART=$[PART+1] fi @@ -104,7 +105,7 @@ while [ $# -gt 0 ]; do done # Si no se indican las 4 particiones primarias, definirlas como vacías, conservando la partición de caché. while [ $PART -le 4 ]; do - if [ "$1 $PART" = "$CACHEPART" -a -n "$CACHESIZE" ]; then + if [ "$ND $PART" == "$CACHEPART" -a -n "$CACHESIZE" ]; then echo "$DISK$PART : start=$[SECTORS+1], size=$CACHESIZE, Id=ca" >>$tmpsfdisk else echo "$DISK$PART : start=0, size=0, Id=0" >>$tmpsfdisk @@ -117,14 +118,15 @@ if [ $PART = 5 -a -n "$EXTSTART" ]; then fi # Desmontar los sistemas de archivos del disco antes de realizar las operaciones. -ogUnmountAll $1 -[ -n "$CACHESIZE" ] && ogUnmountCache +ogUnmountAll $ND 2>/dev/null +[ -n "$CACHESIZE" ] && ogUnmountCache 2>/dev/null # Si la tabla de particiones no es valida, volver a generarla. [ $(parted -s $DISK print >/dev/null) ] || fdisk $DISK <<< "w" # Definir particiones y notificar al kernel. sfdisk -f $DISK < $tmpsfdisk 2>/dev/null && partprobe rm -f $tmpsfdisk +[ -n "$CACHESIZE" ] && ogMountCache 2>/dev/null } diff --git a/client/nfsexport/scripts/createImage b/client/nfsexport/scripts/createImage index d3833baf..08e6c691 100755 --- a/client/nfsexport/scripts/createImage +++ b/client/nfsexport/scripts/createImage @@ -36,14 +36,14 @@ fi # Mostrar información. echo "[15] $PROG: Origen=$PART, Destino=$IMGFILE" -# Crear la imagen. -echo "[20] Crear imagen." -ogCreateImage "$@" || exit $? - # Comprobar consistencia del sistema de archivos. -echo "[80] Crear imagen." +echo "[20] Comprobar sistema de archivos." ogCheckFs $1 $2 +# Crear la imagen. +echo "[30] Crear imagen." +ogCreateImage $1 "$2" $3 $4 || exit $? + TIME=$[SECONDS-TIME1] echo "[100] Duracion de la operacion $[TIME/60]m $[TIME%60]s" |