START=15
-EXTRA_COMMANDS="compact status"
-EXTRA_HELP=" compact trigger compaction for all Z-RAM swap dev's
- status print out status information & statistics about Z-RAM swap devices"
+extra_command "compact" "Trigger compaction for all Z-RAM swap dev's"
+extra_command "status" "Print out information & statistics about Z-RAM swap devices"
ram_getsize()
{
return 1
}
- command -v mkswap >/dev/null || {
- logger -s -t zram_applicable -p daemon.err "[ERROR] 'mkswap' not installed"
+ [ -x /sbin/mkswap ] || {
+ logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox mkswap' not installed"
return 1
}
- command -v swapon >/dev/null || {
- logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapon' not installed"
+ [ -x /sbin/swapon ] || {
+ logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox swapon' not installed"
return 1
}
- command -v swapoff >/dev/null || {
- logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapoff' not installed"
+ [ -x /sbin/swapoff ] || {
+ logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox swapoff' not installed"
return 1
}
}
local dev="$1"
local zram_comp_algo="$( uci -q get system.@system[0].zram_comp_algo )"
- if [ -z "$zram_comp_algo" ] || [ ! -e /sys/block/$( basename $dev )/comp_algorithm ]; then
- return 0
+ if [ -z "$zram_comp_algo" ]; then
+ # lzo-rle fails on small RAM devices, default to lzo, which is always available
+ zram_comp_algo="lzo"
fi
if [ $(grep -c "$zram_comp_algo" /sys/block/$( basename $dev )/comp_algorithm) -ne 0 ]; then
zram_comp_algo "$zram_dev"
zram_comp_streams "$zram_dev"
echo $(( $zram_size * 1024 * 1024 )) >"/sys/block/$( basename "$zram_dev" )/disksize"
- mkswap "$zram_dev"
- swapon -d $zram_priority "$zram_dev"
+ /sbin/mkswap "$zram_dev"
+ /sbin/swapon -d $zram_priority "$zram_dev"
}
stop()
for zram_dev in $( grep zram /proc/swaps |awk '{print $1}' ); do {
logger -s -t zram_stop -p daemon.debug "deactivate swap $zram_dev"
- swapoff "$zram_dev" && zram_reset "$zram_dev" "claiming memory back"
+ /sbin/swapoff "$zram_dev" && zram_reset "$zram_dev" "claiming memory back"
local dev_index="$( echo $zram_dev | grep -o "[0-9]*$" )"
if [ $dev_index -ne 0 ]; then
logger -s -t zram_stop -p daemon.debug "removing zram $zram_dev"