--- ./source/private_module/omnilock/nas_brl_s.c	2018-09-10 11:58:41.000000000 +0800
+++ ./source/private_module/omnilock/nas_brl_s.c.hotpatch	2018-09-10 11:58:41.000000000 +0800
@@ -21,7 +21,7 @@
 #include "nas_job_statistics.h"
 #endif
 
-
+extern void dlmMasterDecFunc(void* masterData, const char* pFunc);
 static SERV_BRL_STAT *serv_brl_stat = NULL; 
 static NAS_SERVER_BRL_GRACE serv_brl_grace_info;
 
@@ -286,7 +286,7 @@
     (void)rsc;
     atomic64_inc(&serv_brl_stat->idle);
     res = container_of(rsc, NAS_SERVER_RES, brl.dlmbrl);
-    dlmMasterDec((void *)res);
+    if (res->open.flag & (1 << 8)) { dlmMasterDecFunc((void *)res, __FUNCTION__); res->open.flag &= ~(1 << 8);} else {dlmMasterDec((void *)res);}
     return;
 }
 
--- ./source/private_module/omnilock/nas_open_lock_s.c	2018-09-10 11:58:41.000000000 +0800
+++ ./source/private_module/omnilock/nas_open_lock_s.c.hotpatch	2018-09-10 11:58:41.000000000 +0800
@@ -38,7 +38,7 @@
 static spinlock_t open_timeout_lock;
 
 STATIC void nas_open_lock_conflict_check(NAS_SERVER_OPEN_RES *openres);
-
+extern void dlmMasterDecFunc(void* masterData, const char* pFunc);
 void *nas_open_lock_mem_alloc(void)
 {
    return NAS_STRUCT_ZALLOC(NAS_PID_LOCK_OPEN_LOCK);  
@@ -532,7 +532,7 @@
 	    atomic64_dec(&srv_open_stat.gracenum);
 		//nas_open_lock_conflict_check(openres);//һ
 		/*dlmӳٺڲspinlockʹ*/	
-		dlmMasterDec(sres);
+		if ((openres->flag) & (1 << 8)){ dlmMasterDecFunc(sres, __FUNCTION__); (openres->flag) &= ~(1 << 8);} else {dlmMasterDec(sres);}
 	}
 }
 
@@ -2654,7 +2654,7 @@
     nas_open_lock_conflict_check(openres);
     spin_unlock(&openres->lock);
     
-    dlmMasterDec(sres);
+    if ((openres->flag) & (1 << 8)) { dlmMasterDecFunc(sres, __FUNCTION__); (openres->flag) &= ~(1 << 8);} else { dlmMasterDec(sres); }
 }
 
 /*****************************************************************************
