[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] cluster/cmirror-kernel/src dm-cmirror-client.c



CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	jbrassow sourceware org	2006-12-05 15:08:18

Modified files:
	cmirror-kernel/src: dm-cmirror-client.c 

Log message:
	Bug 214487: "Attempt to mark a already marked region" messages when ...
	
	Similar to the last checkin.  When a log server moved, all entries in
	the clear region list were removed rather than just those that where
	associated with the log that moved.  Again, this would cause the server
	to report that the regions where already marked when the next mark
	request would come in.
	
	I believe that this action was harmless (but annoying).

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cmirror-kernel/src/dm-cmirror-client.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.30&r2=1.1.2.31

--- cluster/cmirror-kernel/src/Attic/dm-cmirror-client.c	2006/12/05 03:13:50	1.1.2.30
+++ cluster/cmirror-kernel/src/Attic/dm-cmirror-client.c	2006/12/05 15:08:17	1.1.2.31
@@ -503,11 +503,14 @@
 			DMINFO(" - Wiping clear region list");
 			list_for_each_entry_safe(rs, tmp_rs,
 						 &clear_region_list, rs_list){
+				/* Remove only those associated with referenced log */
+				if (rs->rs_lc != lc)
+					continue;
 				i++;
 				list_del_init(&rs->rs_list);
 				mempool_free(rs, region_state_pool);
 			}
-			clear_region_count=0;
+			clear_region_count -= i;
 			DMINFO(" - %d clear region requests wiped", i);
 
 			DMINFO(" - Resending all mark region requests");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]