[Cluster-devel] cluster/gfs2/edit savemeta.c

rpeterso at sourceware.org rpeterso at sourceware.org
Fri Oct 19 03:22:06 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	rpeterso at sourceware.org	2007-10-19 03:22:06

Modified files:
	gfs2/edit      : savemeta.c 

Log message:
	Minor correction to the previous commit.  Bopping through indirect
	pointers was inadvertently changing variable "block" during savemeta.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/edit/savemeta.c.diff?cvsroot=cluster&r1=1.4&r2=1.5

--- cluster/gfs2/edit/savemeta.c	2007/10/18 19:56:41	1.4
+++ cluster/gfs2/edit/savemeta.c	2007/10/19 03:22:05	1.5
@@ -536,11 +536,12 @@
 void save_indirect_blocks(int out_fd, osi_list_t *cur_list,
 			  struct gfs2_buffer_head *mybh, int height, int hgt)
 {
-	uint64_t old_block = 0;
+	uint64_t old_block = 0, starting_block;
 	uint64_t *ptr;
 	int head_size;
 	struct gfs2_buffer_head *nbh;
 
+	starting_block = block; /* remember where we started */
 	head_size = (hgt > 1 ?
 		     sizeof(struct gfs2_meta_header) :
 		     sizeof(struct gfs2_dinode));
@@ -561,6 +562,7 @@
 			brelse(nbh, not_updated);
 		}
 	} /* for all data on the indirect block */
+	block = starting_block; /* go back to where we started */
 }
 
 /*




More information about the Cluster-devel mailing list