From fa434dc0f5a40ebd371874744174defa11407a5f Mon Sep 17 00:00:00 2001 From: Oyvind Albrigtsen Date: Tue, 30 Oct 2018 13:39:38 +0100 Subject: [PATCH] clvm: support exclusive mode --- heartbeat/clvm.in | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/heartbeat/clvm.in b/heartbeat/clvm.in index 5197b50f4..3ab196199 100644 --- a/heartbeat/clvm.in +++ b/heartbeat/clvm.in @@ -72,6 +72,15 @@ is set to. + + +If set, only exclusive volume groups will be monitored. + +Only monitor exclusive volume groups + + + + @@ -215,7 +224,13 @@ clvmd_status() # NOTE: replace this with vgs, once display filter per attr is implemented. clustered_vgs() { - ${LVM_VGDISPLAY} 2>/dev/null | awk 'BEGIN {RS="VG Name"} {if (/Clustered/) print $1;}' + if ! ocf_is_true "$OCF_RESKEY_exclusive"; then + ${LVM_VGDISPLAY} 2>/dev/null | awk 'BEGIN {RS="VG Name"} {if (/Clustered/) print $1;}' + else + for vg in $(vgs --select "clustered=yes" -o name --noheadings); do + lvs --select lv_active=~'local.*exclusive' -o vg_name --noheadings $vg 2> /dev/null | awk '!seen[$1]++ {print $1}' + done + fi } wait_for_process() @@ -374,7 +389,7 @@ clvmd_start() return $?; fi - # autoset locking type to clusted when lvmconf tool is available + # autoset locking type to clustered when lvmconf tool is available if [ -x "$LVMCONF" ]; then $LVMCONF --enable-cluster > /dev/null 2>&1 fi