From 6d76ec38721f964ae9ac65d80ef8628199986fa4 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sun, 30 Jan 2022 19:37:41 +0000 Subject: 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 --- package/system/procd/files/procd.sh | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'package/system') 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 \ -- cgit v1.2.3