[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