From 19e65f4012f286b279dbefeae74500d867592a27 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Fri, 25 Aug 2023 10:00:57 +1000 Subject: [PATCH] ctdb-scripts: Factor out function kill_tcp_summarise() This will be used in a slightly different context in a subsequent commit. In that case, the number of killed connections will be passed instead of the total number of connections, so support this here via different modes instead of churning later. Signed-off-by: Martin Schwenke Reviewed-by: Volker Lendecke Reviewed-by: Jerry Heyman --- ctdb/config/functions | 49 +++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/ctdb/config/functions b/ctdb/config/functions index ad191ac4468..d1579e5156c 100755 --- a/ctdb/config/functions +++ b/ctdb/config/functions @@ -509,6 +509,38 @@ ctdb_check_unix_socket() ################################################ # kill off any TCP connections with the given IP ################################################ + +kill_tcp_summarise() +{ + _mode="$1" + _count="$2" + + _connections=$(get_tcp_connections_for_ip "$_ip") + if [ -z "$_connections" ]; then + _remaining=0 + else + _remaining=$(echo "$_connections" | wc -l) + fi + + case "$_mode" in + total) + _total="$_count" + _killed=$((_total - _remaining)) + ;; + killed) + _killed="$_count" + _total=$((_killed + _remaining)) + ;; + esac + + _t="${_killed}/${_total}" + echo "Killed ${_t} TCP connections to released IP ${_ip}" + if [ -n "$_connections" ]; then + echo "Remaining connections:" + echo "$_connections" | sed -e 's|^| |' + fi +} + kill_tcp_connections() { _iface="$1" @@ -556,22 +588,7 @@ kill_tcp_connections() return } - _connections=$(get_tcp_connections_for_ip "$_ip") - if [ -z "$_connections" ]; then - _remaining=0 - else - _remaining=$(echo "$_connections" | wc -l) - fi - - _actually_killed=$((_killcount - _remaining)) - - _t="${_actually_killed}/${_killcount}" - echo "Killed ${_t} TCP connections to released IP $_ip" - - if [ -n "$_connections" ]; then - echo "Remaining connections:" - echo "$_connections" | sed -e 's|^| |' - fi + kill_tcp_summarise "total" "$_killcount" } }