From 1a1bdfbffc81981a80af40ebf000194d9bcd1bf0 Mon Sep 17 00:00:00 2001 From: Gaurav Yadav Date: Thu, 5 Oct 2017 23:44:46 +0530 Subject: glusterd : introduce timer in mgmt_v3_lock Problem: In a multinode environment, if two of the op-sm transactions are initiated on one of the receiver nodes at the same time, there might be a possibility that glusterd may end up in stale lock. Solution: During mgmt_v3_lock a registration is made to gf_timer_call_after which release the lock after certain period of time >mainline patch : https://review.gluster.org/#/c/18437/ Change-Id: I16cc2e5186a2e8a5e35eca2468b031811e093843 BUG: 1503239 Signed-off-by: Gaurav Yadav --- libglusterfs/src/common-utils.h | 2 +- libglusterfs/src/mem-types.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'libglusterfs/src') diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index e1c5f6680f6..01310709cee 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -102,7 +102,7 @@ void trap (void); #define GF_CLNT_INSECURE_PORT_CEILING (GF_IANA_PRIV_PORTS_START - 1) #define GF_PORT_MAX 65535 #define GF_PORT_ARRAY_SIZE ((GF_PORT_MAX + 7) / 8) - +#define GF_LOCK_TIMER 180 #define GF_MINUTE_IN_SECONDS 60 #define GF_HOUR_IN_SECONDS (60*60) #define GF_DAY_IN_SECONDS (24*60*60) diff --git a/libglusterfs/src/mem-types.h b/libglusterfs/src/mem-types.h index d244fb528e3..85cb5d2b975 100644 --- a/libglusterfs/src/mem-types.h +++ b/libglusterfs/src/mem-types.h @@ -177,6 +177,7 @@ enum gf_common_mem_types_ { gf_common_mt_pthread_t, gf_common_ping_local_t, gf_common_volfile_t, + gf_common_mt_mgmt_v3_lock_timer_t, gf_common_mt_end }; #endif -- cgit