[PATCH] zram-swap: explicitly use mkswap/swapon/swapoff from /sbin
Rui Salvaterra
rsalvaterra at gmail.com
Fri Aug 14 08:14:08 EDT 2020
The required BusyBox applets are enabled by default, so we can rely on them
being present in the system. This way, we make sure there are no conflicts with
less featured variants of these same applets which might also be present in the
system.
Fixes: 0bd7dfa3ed60 ("zram-swap: enable swap discard")
v5: addressed Adrian Schmutzler's comments
Signed-off-by: Rui Salvaterra <rsalvaterra at gmail.com>
---
package/system/zram-swap/Makefile | 4 ++--
package/system/zram-swap/files/zram.init | 18 +++++++++---------
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/package/system/zram-swap/Makefile b/package/system/zram-swap/Makefile
index 5c132c9062..9a18dd3417 100644
--- a/package/system/zram-swap/Makefile
+++ b/package/system/zram-swap/Makefile
@@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=zram-swap
-PKG_RELEASE:=6
+PKG_RELEASE:=7
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
@@ -17,7 +17,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/zram-swap
SECTION:=utils
CATEGORY:=Base system
- DEPENDS:=+kmod-zram +!(BUSYBOX_CONFIG_MKSWAP&&BUSYBOX_CONFIG_SWAPON&&BUSYBOX_CONFIG_SWAPOFF):swap-utils
+ DEPENDS:=+kmod-zram + at BUSYBOX_CONFIG_MKSWAP + at BUSYBOX_CONFIG_SWAPON + at BUSYBOX_CONFIG_FEATURE_SWAPON_DISCARD + at BUSYBOX_CONFIG_FEATURE_SWAPON_PRI + at BUSYBOX_CONFIG_SWAPOFF
TITLE:=ZRAM swap scripts
PKGARCH:=all
endef
diff --git a/package/system/zram-swap/files/zram.init b/package/system/zram-swap/files/zram.init
index 42c084855a..f31a87438c 100755
--- a/package/system/zram-swap/files/zram.init
+++ b/package/system/zram-swap/files/zram.init
@@ -35,18 +35,18 @@ zram_applicable()
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
}
}
@@ -181,8 +181,8 @@ start()
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()
@@ -191,7 +191,7 @@ 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"
--
2.28.0
More information about the openwrt-devel
mailing list