From f097c21f1d1be5e6e396ba0687f237d8543ba076 Mon Sep 17 00:00:00 2001 From: Irina Gómez Date: Wed, 15 May 2019 11:16:31 +0200 Subject: Fix initCache: if the size of the cache changes, it always formats the cache. ogCheckFs includes the CACHE file system type --- client/engine/FileSystem.lib | 36 ++++++++++++++++++------------------ client/shared/scripts/initCache | 6 ++++-- 2 files changed, 22 insertions(+), 20 deletions(-) (limited to 'client') diff --git a/client/engine/FileSystem.lib b/client/engine/FileSystem.lib index 0642a854..aa1778eb 100755 --- a/client/engine/FileSystem.lib +++ b/client/engine/FileSystem.lib @@ -55,24 +55,24 @@ PART="$(ogDiskToDev $1 $2)" || return $? TYPE=$(ogGetFsType $1 $2) case "$TYPE" in - EXT[234]) PROG="e2fsck"; PARAMS="-y"; CODES=(1 2) ;; - BTRFS) PROG="btrfsck"; CODES=(1) ;; - REISERFS) PROG="fsck.reiserfs"; PARAMS="<<<\"Yes\""; CODES=(1 2) ;; - REISER4) PROG="fsck.reiser4"; PARAMS="-ay" ;; - JFS) PROG="fsck.jfs"; CODES=(1 2) ;; - XFS) PROG="xfs_repair" ;; - F2FS) PROG="fsck.f2fs" ;; - NTFS) PROG="ntfsfix" ;; - EXFAT) PROG="fsck.exfat" ;; - FAT32) PROG="dosfsck"; PARAMS="-a"; CODES=(1) ;; - FAT16) PROG="dosfsck"; PARAMS="-a"; CODES=(1) ;; - FAT12) PROG="dosfsck"; PARAMS="-a"; CODES=(1) ;; - HFS) PROG="fsck.hfs"; PARAMS="-f" ;; - HFSPLUS) PROG="fsck.hfs"; PARAMS="-f" ;; - UFS) PROG="fsck.ufs" ;; - ZFS) PROG="fsck.zfs" ;; - *) ogRaiseError $OG_ERR_PARTITION "$1, $2, $TYPE" - return $? ;; + EXT[234]|CACHE) PROG="e2fsck"; PARAMS="-y"; CODES=(1 2) ;; + BTRFS) PROG="btrfsck"; CODES=(1) ;; + REISERFS) PROG="fsck.reiserfs"; PARAMS="<<<\"Yes\""; CODES=(1 2) ;; + REISER4) PROG="fsck.reiser4"; PARAMS="-ay" ;; + JFS) PROG="fsck.jfs"; CODES=(1 2) ;; + XFS) PROG="xfs_repair" ;; + F2FS) PROG="fsck.f2fs" ;; + NTFS) PROG="ntfsfix" ;; + EXFAT) PROG="fsck.exfat" ;; + FAT32) PROG="dosfsck"; PARAMS="-a"; CODES=(1) ;; + FAT16) PROG="dosfsck"; PARAMS="-a"; CODES=(1) ;; + FAT12) PROG="dosfsck"; PARAMS="-a"; CODES=(1) ;; + HFS) PROG="fsck.hfs"; PARAMS="-f" ;; + HFSPLUS) PROG="fsck.hfs"; PARAMS="-f" ;; + UFS) PROG="fsck.ufs" ;; + ZFS) PROG="fsck.zfs" ;; + *) ogRaiseError $OG_ERR_PARTITION "$1, $2, $TYPE" + return $? ;; esac # Error si el sistema de archivos esta montado o bloqueado. ogUnmount $1 $2 diff --git a/client/shared/scripts/initCache b/client/shared/scripts/initCache index 796ab84f..9caf0be0 100755 --- a/client/shared/scripts/initCache +++ b/client/shared/scripts/initCache @@ -69,6 +69,8 @@ else ogUnmountCache 2>/dev/null ogDeleteCache fi + # Tomamos el tamaño actual. Si no existe cache será 0. + OLDSIZE=$(ogGetCacheSize 2>/dev/null) || OLDSIZE=0 # Error si tamaño definido no es >0. if [ ! $SIZE -gt 0 ]; then @@ -83,9 +85,9 @@ else ogCreateCache $NDISK $NPART $SIZE ogUpdatePartitionTable $NDISK fi - # Si caché no montada y no formateada, formatear. + # Si caché no montada y no formateada o cambia el tamaño: formatear. CACHE=$(ogFindCache) || exit $? - if ! ogIsFormated $CACHE; then + if ! ogIsFormated $CACHE || [ $SIZE -ne $OLDSIZE ]; then echo "[50] Formatear caché local." ogFormatCache fi -- cgit v1.2.3-18-g5258