|
|
@@ -52,8 +52,7 @@ wait_for () { |
|
|
|
|
|
|
|
createZramLogDrive () { |
|
|
|
# Check Zram Class created |
|
|
|
if [ ! -d "/sys/class/zram-control" ]; then |
|
|
|
modprobe zram |
|
|
|
if modprobe --first-time --verbose zram; then |
|
|
|
RAM_DEV='0' |
|
|
|
else |
|
|
|
RAM_DEV=$(cat /sys/class/zram-control/hot_add) |
|
|
@@ -61,7 +60,8 @@ createZramLogDrive () { |
|
|
|
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} |
|
|
|
mke2fs -v -t ext4 -O ^has_journal -s 1024 -L log2ram$RAM_DEV /dev/zram${RAM_DEV} |
|
|
|
tune2fs -o journal_data_writeback /dev/zram${RAM_DEV} |
|
|
|
} |
|
|
|
|
|
|
|
case "$1" in |
|
|
@@ -70,25 +70,34 @@ case "$1" in |
|
|
|
mount --bind $RAM_LOG/ $HDD_LOG/ |
|
|
|
mount --make-private $HDD_LOG/ |
|
|
|
wait_for $HDD_LOG |
|
|
|
if [ "$ZL2R" = true ]; then |
|
|
|
if [ "$ZL2R" = true ]; then |
|
|
|
createZramLogDrive |
|
|
|
mount -t ext4 -o nosuid,noexec,nodev,user=log2ram /dev/zram${RAM_DEV} ${RAM_LOG}/ |
|
|
|
else |
|
|
|
mount -t ext4 -o nosuid,noexec,nodev,discard,user=log2ram /dev/zram${RAM_DEV} ${RAM_LOG}/ |
|
|
|
else |
|
|
|
mount -t tmpfs -o nosuid,noexec,nodev,mode=0755,size=${SIZE} log2ram $RAM_LOG/ |
|
|
|
fi |
|
|
|
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]+') |
|
|
|
invoke-rc.d rsyslog stop |
|
|
|
L2G_DEV=$(df /var/log | tail -1 | awk '{ print $1 }' | tr -dc '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 |
|
|
|
;; |
|
|
|
if [ "$ZL2R" = true ]; then |
|
|
|
RAM_DEV=$(cat /sys/class/zram-control/hot_add) |
|
|
|
if [ "$RAM_DEV" -eq "1" ];then |
|
|
|
echo "$L2G_DEV" > /sys/class/zram-control/hot_remove |
|
|
|
rmod zram |
|
|
|
else |
|
|
|
echo "$L2G_DEV" > /sys/class/zram-control/hot_remove |
|
|
|
fi |
|
|
|
fi |
|
|
|
invoke-rc.d rsyslog restart |
|
|
|
journalctl --flush |
|
|
|
;; |
|
|
|
|
|
|
|
write) |
|
|
|
syncToDisk |
|
|
|