[openwrt/openwrt] procd: support generic mount triggers and clean up

LEDE Commits lede-commits at lists.infradead.org
Sun Jan 30 12:22:17 PST 2022


dangole pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/6d76ec38721f964ae9ac65d80ef8628199986fa4

commit 6d76ec38721f964ae9ac65d80ef8628199986fa4
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Sun Jan 30 19:37:41 2022 +0000

    procd: support generic mount triggers and clean up
    
    Allow init scripts to trigger free-form actions by exposing
    procd_add_action_mount_trigger.
    Clean up mount trigger wrappers while at it to reduce code duplication.
    
    Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
 package/system/procd/files/procd.sh | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh
index 2284f55ed2..5148b2f03c 100644
--- a/package/system/procd/files/procd.sh
+++ b/package/system/procd/files/procd.sh
@@ -363,14 +363,15 @@ _procd_add_mount_trigger() {
 }
 
 _procd_add_action_mount_trigger() {
-	local script=$(readlink "$initscript")
-	local name=$(basename ${script:-$initscript})
 	local action="$1"
-	local mpath
 	shift
+	local mountpoints="$(procd_get_mountpoints "$@")"
+	[ "${mountpoints//[[:space:]]}" ] || return 0
+	local script=$(readlink "$initscript")
+	local name=$(basename ${script:-$initscript})
 
 	_procd_open_trigger
-	_procd_add_mount_trigger mount.add $action "$@"
+	_procd_add_mount_trigger mount.add $action "$mountpoints"
 	_procd_close_trigger
 }
 
@@ -384,7 +385,7 @@ procd_get_mountpoints() {
 			target="${target%%/}/"
 			[ "$path" != "${path##$target}" ] && echo "${target%%/}"
 		}
-
+		local mpath
 		config_load fstab
 		for mpath in "$@"; do
 			config_foreach __procd_check_mount mount "$mpath"
@@ -393,15 +394,11 @@ procd_get_mountpoints() {
 }
 
 _procd_add_restart_mount_trigger() {
-	local mountpoints="$(procd_get_mountpoints "$@")"
-	[ "${mountpoints//[[:space:]]}" ] &&
-		_procd_add_action_mount_trigger restart $mountpoints
+	_procd_add_action_mount_trigger restart "$@"
 }
 
 _procd_add_reload_mount_trigger() {
-	local mountpoints="$(procd_get_mountpoints "$@")"
-	[ "${mountpoints//[[:space:]]}" ] &&
-		_procd_add_action_mount_trigger reload $mountpoints
+	_procd_add_action_mount_trigger reload "$@"
 }
 
 _procd_add_raw_trigger() {
@@ -638,6 +635,7 @@ _procd_wrapper \
 	procd_add_mount_trigger \
 	procd_add_reload_trigger \
 	procd_add_reload_interface_trigger \
+	procd_add_action_mount_trigger \
 	procd_add_reload_mount_trigger \
 	procd_add_restart_mount_trigger \
 	procd_open_trigger \



More information about the lede-commits mailing list