summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2010-11-19 11:20:10 +0000
committerramon <ramongomez@us.es>2010-11-19 11:20:10 +0000
commit6d3f526c938e3b47e88e76ec3f3e7e63bc89bc29 (patch)
tree7c3972a032543b784b277c143e377c3dd19bc6e5
parent7510561000e3c0b131cf3c6708764a83919013b3 (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-xclient/engine/Disk.lib16
-rwxr-xr-xclient/nfsexport/scripts/createImage10
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"