|
|
@@ -50,21 +50,44 @@ wait_for () { |
|
|
|
done |
|
|
|
} |
|
|
|
|
|
|
|
createZramLogDrive () { |
|
|
|
# Check Zram Class created |
|
|
|
if [ ! -d "/sys/class/zram-control" ]; then |
|
|
|
modprobe zram |
|
|
|
RAM_DEV='0' |
|
|
|
else |
|
|
|
RAM_DEV=$(cat /sys/class/zram-control/hot_add) |
|
|
|
fi |
|
|
|
echo ${COMP_ALG} > /sys/block/zram${RAM_DEV}/comp_algorithm |
|
|
|
echo ${LOG_DISK_SIZE} > /sys/block/zram${RAM_DEV}/disksize |
|
|
|
echo ${SIZE} > /sys/block/zram${RAM_DEV}/mem_limit |
|
|
|
mke2fs -t ext4 /dev/zram${RAM_DEV} |
|
|
|
} |
|
|
|
|
|
|
|
case "$1" in |
|
|
|
start) |
|
|
|
[ -d $HDD_LOG/ ] || mkdir $HDD_LOG/ |
|
|
|
mount --bind $RAM_LOG/ $HDD_LOG/ |
|
|
|
mount --make-private $HDD_LOG/ |
|
|
|
wait_for $HDD_LOG |
|
|
|
mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size="$SIZE" log2ram $RAM_LOG/ |
|
|
|
if [ "$ZL2R" = true ]; then |
|
|
|
createZramLogDrive |
|
|
|
mount -t ext4 -o nosuid,noexec,nodev,user=log2ram /dev/zram${RAM_DEV} ${RAM_LOG}/ |
|
|
|
else |
|
|
|
mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size=${SIZE} log2ram $RAM_LOG/ |
|
|
|
fi |
|
|
|
wait_for $RAM_LOG |
|
|
|
syncFromDisk |
|
|
|
;; |
|
|
|
|
|
|
|
stop) |
|
|
|
syncToDisk |
|
|
|
#ZRAM_LOG=$(awk '$2 == "/var/log" {print $1}' /proc/mounts) |
|
|
|
#ZRAM_LOG=$(echo ${ZRAM_LOG} | grep -o -E '[0-9]+') |
|
|
|
umount -l $RAM_LOG/ |
|
|
|
umount -l $HDD_LOG/ |
|
|
|
# Unsure as even with Root permision denied |
|
|
|
#echo ${ZRAM_LOG} > /sys/class/zram-control/hot_remove |
|
|
|
;; |
|
|
|
|
|
|
|
write) |
|
|
|