zram-swap: robustify mkswap/swapon/swapoff invocation
Instead of assuming /sbin contains the correct BusyBox symlinks, directly invoke the busybox executable. The required utilities are guaranteed to be present, since the zram-swap package selects them. Additionally, don't assume busybox resides in /bin, rely on PATH to find it. While at it, update the copyright year, use SPDX and switch to AUTORELEASE. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
This commit is contained in:
parent
1818b038d7
commit
18c24a29f9
|
@ -1,14 +1,11 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
#
|
#
|
||||||
# Copyright (C) 2013 OpenWrt.org
|
# Copyright (C) 2013-2021 OpenWrt.org
|
||||||
#
|
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
|
||||||
# See /LICENSE for more information.
|
|
||||||
#
|
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=zram-swap
|
PKG_NAME:=zram-swap
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=$(AUTORELEASE)
|
||||||
|
|
||||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
|
|
@ -25,31 +25,6 @@ zram_getsize() # in megabytes
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
zram_applicable()
|
|
||||||
{
|
|
||||||
local zram_dev="$1"
|
|
||||||
|
|
||||||
[ -e "$zram_dev" ] || {
|
|
||||||
logger -s -t zram_applicable -p daemon.crit "[ERROR] device '$zram_dev' not found"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
[ -x /sbin/mkswap ] || {
|
|
||||||
logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox mkswap' not installed"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
[ -x /sbin/swapon ] || {
|
|
||||||
logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox swapon' not installed"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
[ -x /sbin/swapoff ] || {
|
|
||||||
logger -s -t zram_applicable -p daemon.err "[ERROR] 'BusyBox swapoff' not installed"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
zram_dev()
|
zram_dev()
|
||||||
{
|
{
|
||||||
local idx="$1"
|
local idx="$1"
|
||||||
|
@ -160,9 +135,14 @@ start()
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local zram_size="$( zram_getsize )"
|
|
||||||
local zram_dev="$( zram_getdev )"
|
local zram_dev="$( zram_getdev )"
|
||||||
zram_applicable "$zram_dev" || return 1
|
|
||||||
|
[ -e "$zram_dev" ] || {
|
||||||
|
logger -s -t zram_start -p daemon.crit "[ERROR] device '$zram_dev' not found"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
local zram_size="$( zram_getsize )"
|
||||||
local zram_priority="$( uci -q get system.@system[0].zram_priority )"
|
local zram_priority="$( uci -q get system.@system[0].zram_priority )"
|
||||||
zram_priority=${zram_priority:+-p $zram_priority}
|
zram_priority=${zram_priority:+-p $zram_priority}
|
||||||
|
|
||||||
|
@ -171,8 +151,8 @@ start()
|
||||||
zram_reset "$zram_dev" "enforcing defaults"
|
zram_reset "$zram_dev" "enforcing defaults"
|
||||||
zram_comp_algo "$zram_dev"
|
zram_comp_algo "$zram_dev"
|
||||||
echo $(( $zram_size * 1024 * 1024 )) >"/sys/block/$( basename "$zram_dev" )/disksize"
|
echo $(( $zram_size * 1024 * 1024 )) >"/sys/block/$( basename "$zram_dev" )/disksize"
|
||||||
/sbin/mkswap "$zram_dev"
|
busybox mkswap "$zram_dev"
|
||||||
/sbin/swapon -d $zram_priority "$zram_dev"
|
busybox swapon -d $zram_priority "$zram_dev"
|
||||||
}
|
}
|
||||||
|
|
||||||
stop()
|
stop()
|
||||||
|
@ -181,7 +161,7 @@ stop()
|
||||||
|
|
||||||
for zram_dev in $( grep zram /proc/swaps |awk '{print $1}' ); do {
|
for zram_dev in $( grep zram /proc/swaps |awk '{print $1}' ); do {
|
||||||
logger -s -t zram_stop -p daemon.debug "deactivate swap $zram_dev"
|
logger -s -t zram_stop -p daemon.debug "deactivate swap $zram_dev"
|
||||||
/sbin/swapoff "$zram_dev" && zram_reset "$zram_dev" "claiming memory back"
|
busybox swapoff "$zram_dev" && zram_reset "$zram_dev" "claiming memory back"
|
||||||
local dev_index="$( echo $zram_dev | grep -o "[0-9]*$" )"
|
local dev_index="$( echo $zram_dev | grep -o "[0-9]*$" )"
|
||||||
if [ $dev_index -ne 0 ]; then
|
if [ $dev_index -ne 0 ]; then
|
||||||
logger -s -t zram_stop -p daemon.debug "removing zram $zram_dev"
|
logger -s -t zram_stop -p daemon.debug "removing zram $zram_dev"
|
||||||
|
|
Loading…
Reference in New Issue