46 lines
1.3 KiB
Diff
46 lines
1.3 KiB
Diff
From 017157d21a56410811384a43d0b0cbba6444baeb Mon Sep 17 00:00:00 2001
|
|
From: Don Penney <don.penney@windriver.com>
|
|
Date: Wed, 6 Feb 2019 01:19:59 -0500
|
|
Subject: [PATCH] Check for mounted device before demoting Primary DRBD
|
|
resource
|
|
|
|
Update the OCF script to check for a mounted device when demoting
|
|
a resource that's in the Primary state. The state change will fail
|
|
if it is still in use, otherwise.
|
|
|
|
Signed-off-by: Don Penney <don.penney@windriver.com>
|
|
---
|
|
scripts/drbd.ocf | 16 +++++++++++++++-
|
|
1 file changed, 15 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/scripts/drbd.ocf b/scripts/drbd.ocf
|
|
index e03bf6d..95da11a 100644
|
|
--- a/scripts/drbd.ocf
|
|
+++ b/scripts/drbd.ocf
|
|
@@ -720,7 +720,21 @@ drbd_stop() {
|
|
;;
|
|
$OCF_RUNNING_MASTER)
|
|
ocf_log warn "$DRBD_RESOURCE still Primary, demoting."
|
|
- do_drbdadm secondary $DRBD_RESOURCE
|
|
+ found=no
|
|
+ for dev in ${DRBD_DEVICES[@]} ""; do
|
|
+ cat /proc/mounts | grep -q "^${dev} "
|
|
+ if [ $? -eq 0 ]; then
|
|
+ ocf_log warn "${DRBD_RESOURCE} is still mounted via $dev"
|
|
+ found=yes
|
|
+ break
|
|
+ fi
|
|
+ done
|
|
+ if [ "${found}" = "yes" ]; then
|
|
+ ocf_log warn "Waiting to drop $DRBD_RESOURCE"
|
|
+ else
|
|
+ ocf_log warn "Dropping $DRBD_RESOURCE to Secondary"
|
|
+ do_drbdadm secondary $DRBD_RESOURCE
|
|
+ fi
|
|
esac
|
|
$first_try || sleep 1
|
|
first_try=false
|
|
--
|
|
1.8.3.1
|
|
|