From: Daniel Golle Date: Sun, 30 Jan 2022 19:37:41 +0000 (+0000) Subject: procd: support generic mount triggers and clean up X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=6d76ec38721f964ae9ac65d80ef8628199986fa4;p=openwrt%2Fstaging%2Fdangole.git 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 --- 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 \