summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorIrina Gómez <irinagomez@us.es>2019-05-15 14:13:17 +0200
committerIrina Gómez <irinagomez@us.es>2019-05-15 14:13:17 +0200
commit97b8472e4a395a35ec0cc2d2dc1550fb9c378348 (patch)
tree64e8f2dc5105e556eca1efa3619c20b6cd4ffd37 /client
parentfec3e4f55169609aa6a13b9f29272113fe9ffa0c (diff)
#895 Fix initCache: if the size of the cache changes, it always formats the cache. ogCheckFs includes the CACHE file system type
Diffstat (limited to 'client')
-rwxr-xr-xclient/engine/FileSystem.lib36
-rwxr-xr-xclient/shared/scripts/initCache6
2 files changed, 22 insertions, 20 deletions
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