From mboxrd@z Thu Jan 1 00:00:00 1970 From: jbrassow@sourceware.org Date: 5 Dec 2006 17:49:10 -0000 Subject: [Cluster-devel] cluster/cmirror-kernel/src dm-cmirror-client.c Message-ID: <20061205174910.3533.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: cluster Branch: RHEL4 Changes by: jbrassow at sourceware.org 2006-12-05 17:49:08 Modified files: cmirror-kernel/src: dm-cmirror-client.c Log message: Just a comment update, so I don't forget why I'm checking for duplicate mark region requests. < /* ATTENTION -- this check should not be necessary. ** < ** Why are regions being marked again before a clear? */ --- > /* > * In the mirroring code, it is possible for a write > * to complete and call rh_dec - putting the region on > * the clear_region list. However, before the actual > * clear request is issued to the log (rh_update_states) > * another mark happens. So, we check for and remove > * duplicates. > */ 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.31&r2=1.1.2.32 --- cluster/cmirror-kernel/src/Attic/dm-cmirror-client.c 2006/12/05 15:08:17 1.1.2.31 +++ cluster/cmirror-kernel/src/Attic/dm-cmirror-client.c 2006/12/05 17:49:08 1.1.2.32 @@ -918,8 +918,14 @@ return; } } - /* ATTENTION -- this check should not be necessary. ** - ** Why are regions being marked again before a clear? */ + /* + * In the mirroring code, it is possible for a write + * to complete and call rh_dec - putting the region on + * the clear_region list. However, before the actual + * clear request is issued to the log (rh_update_states) + * another mark happens. So, we check for and remove + * duplicates. + */ list_for_each_entry(rs, &marked_region_list, rs_list){ if(lc == rs->rs_lc && region == rs->rs_region){ #ifdef DEBUG