[Cluster-devel] [PATCH 2 of 5]Bz #248176: GFS2: invalid metadata block, gfs2_meta_indirect_buffer

Bob Peterson rpeterso at redhat.com
Tue Jul 24 05:16:35 UTC 2007


This is patch 2 of 5 for bug #248176.

The list_move code previously concocted in log.c for bug #238162
(see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=238162#c23)
seems to be causing a problem.  That section was reverted.  HOWEVER,
I need to rerun the test cases listed in that bug to make sure
removing it doesn't cause anything to break.  I haven't had time yet.
--
Signed-off-by: Bob Peterson <rpeterso at redhat.com> 
--
--- a/log.c	2007-07-11 08:54:13.000000000 -0500
+++ b/log.c	2007-07-23 14:49:54.000000000 -0500
@@ -83,11 +83,6 @@ static void gfs2_ail1_start_one(struct g
 
 			gfs2_assert(sdp, bd->bd_ail == ai);
 
-			if (!bh){
-				list_move(&bd->bd_ail_st_list, &ai->ai_ail2_list);
-                                continue;
-                        }
-
 			if (!buffer_busy(bh)) {
 				if (!buffer_uptodate(bh)) {
 					gfs2_log_unlock(sdp);
@@ -130,11 +125,6 @@ static int gfs2_ail1_empty_one(struct gf
 					 bd_ail_st_list) {
 		bh = bd->bd_bh;
 
-		if (!bh){
-			list_move(&bd->bd_ail_st_list, &ai->ai_ail2_list);
-			continue;
-		}
-
 		gfs2_assert(sdp, bd->bd_ail == ai);
 
 		if (buffer_busy(bh)) {
@@ -155,13 +145,14 @@ static int gfs2_ail1_empty_one(struct gf
 
 static void gfs2_ail1_start(struct gfs2_sbd *sdp, int flags)
 {
-	struct list_head *head = &sdp->sd_ail1_list;
+	struct list_head *head;
 	u64 sync_gen;
 	struct list_head *first;
 	struct gfs2_ail *first_ai, *ai, *tmp;
 	int done = 0;
 
 	gfs2_log_lock(sdp);
+	head = &sdp->sd_ail1_list;
 	if (list_empty(head)) {
 		gfs2_log_unlock(sdp);
 		return;





More information about the Cluster-devel mailing list