[Ocfs2-commits] khackel commits r1678 - branches/dlm-glue/src

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Tue Nov 30 20:55:28 CST 2004


Author: khackel
Date: 2004-11-30 20:55:26 -0600 (Tue, 30 Nov 2004)
New Revision: 1678

Modified:
   branches/dlm-glue/src/dlmglue.c
   branches/dlm-glue/src/vote.c
Log:
fixed list running of blocked_lock_list, added asserts to check l_ops, fixed possible double increment of blocked_lock_count

Modified: branches/dlm-glue/src/dlmglue.c
===================================================================
--- branches/dlm-glue/src/dlmglue.c	2004-11-30 17:06:44 UTC (rev 1677)
+++ branches/dlm-glue/src/dlmglue.c	2004-12-01 02:55:26 UTC (rev 1678)
@@ -1761,6 +1761,10 @@
 	int status;
 	int requeue = 0;
 
+	OCFS_ASSERT(lockres);
+	OCFS_ASSERT(lockres->l_ops);
+	OCFS_ASSERT(lockres->l_ops->unblock);
+
 	status = lockres->l_ops->unblock(lockres, &requeue);
 	if (status < 0)
 		LOG_ERROR_STATUS(status);
@@ -1773,10 +1777,11 @@
 					ocfs2_lock_res *lockres)
 {
 	spin_lock(&osb->vote_task_lock);
-	if (list_empty(&lockres->l_blocked_list))
+	if (list_empty(&lockres->l_blocked_list)) {
 		list_add_tail(&osb->blocked_lock_list,
 			      &lockres->l_blocked_list);
-	osb->blocked_lock_count++;
+		osb->blocked_lock_count++;
+	}
 	spin_unlock(&osb->vote_task_lock);
 }
 

Modified: branches/dlm-glue/src/vote.c
===================================================================
--- branches/dlm-glue/src/vote.c	2004-11-30 17:06:44 UTC (rev 1677)
+++ branches/dlm-glue/src/vote.c	2004-12-01 02:55:26 UTC (rev 1678)
@@ -304,7 +304,7 @@
 	while (processed) {
 		OCFS_ASSERT(!list_empty(&osb->blocked_lock_list));
 
-		lockres = list_entry(&osb->blocked_lock_list.next,
+		lockres = list_entry(osb->blocked_lock_list.next,
 				     ocfs2_lock_res, l_blocked_list);
 		list_del_init(&lockres->l_blocked_list);
 		osb->blocked_lock_count--;
@@ -320,7 +320,7 @@
 
 	while (osb->vote_count) {
 		OCFS_ASSERT(!list_empty(&osb->vote_list));
-		work = list_entry(&osb->vote_list.next,
+		work = list_entry(osb->vote_list.next,
 				  ocfs2_vote_work, w_list);
 		list_del(&work->w_list);
 		osb->vote_count--;



More information about the Ocfs2-commits mailing list