From 88bbab963f11a71aae2f7cff224ce0f5038111a8 Mon Sep 17 00:00:00 2001 From: Pingfan Liu Date: Thu, 1 Aug 2019 10:34:05 +0800 Subject: [PATCH] dracut-module-setup.sh: skip alias of localhost in get_pcs_fence_kdump_nodes() The current code only exclude the hostname, while localhost can have alias in /etc/hosts. All of the alias should be excluded from the fence dump node to avoid deadlock issue. Signed-off-by: Pingfan Liu Acked-by: Kairui Song --- dracut-module-setup.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 27b9f02..9ef6021 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -689,6 +689,21 @@ kdump_check_iscsi_targets () { } } +is_localhost() { + local hostnames=$(hostname -A) + local shortnames=$(hostname -A -s) + local nodename=$1 + + hostnames="$hostnames $shortnames" + + for name in ${hostnames}; do + if [ "$name" == "$nodename" ]; then + return 0 + fi + done + return 1 +} + # retrieves fence_kdump nodes from Pacemaker cluster configuration get_pcs_fence_kdump_nodes() { local nodes @@ -703,7 +718,7 @@ get_pcs_fence_kdump_nodes() { eval $node nodename=$uname # Skip its own node name - if [ "$nodename" = `hostname` -o "$nodename" = `hostname -s` ]; then + if is_localhost $nodename; then continue fi nodes="$nodes $nodename"