[Drbd-dev] [PATCH] drbdadm: Fix handler called from kernel always invalid for stacking resource

Nick Wang nwang at suse.com
Tue Jul 18 05:16:15 CEST 2017


Handler like "before-resync-target" called from kernel
space does not have "-S" option for stacking resource, it
always return as invalid usage for stacking resource in
normal mode, then the connection will be dropped. Add "-S"
option for stacking resource automatically if the handler
is called from kernel.

Signed-off-by: Nick Wang <nwang at suse.com>
CC: Lars Ellenberg <lars.ellenberg at linbit.com>
CC: drbd-dev at lists.linbit.com

---
 user/v9/drbdadm_main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/user/v9/drbdadm_main.c b/user/v9/drbdadm_main.c
index 3c6e2263..f6cd8b74 100644
--- a/user/v9/drbdadm_main.c
+++ b/user/v9/drbdadm_main.c
@@ -3472,6 +3472,9 @@ int main(int argc, char **argv)
 					       rv = E_USAGE;
 					continue;
 				}
+				if (3 == cmd->show_in_usage && ctx.res->stacked) {
+					is_drbd_top = 1;
+				}
 				if (is_drbd_top != ctx.res->stacked && !is_dump) {
 					err("'%s' is a %s resource, and not available in %s mode.\n",
 					    ctx.res->name,
-- 
2.12.0



More information about the drbd-dev mailing list