cluster: RHEL5 - GFS2: gfs2_fsck segfault in rindex repair code
Bob Peterson
rpeterso@fedoraproject.org
Tue Aug 4 22:10:00 GMT 2009
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=8d43d79122b0a220707af527ecef67e1bd21bf26
Commit: 8d43d79122b0a220707af527ecef67e1bd21bf26
Parent: 527b0880da57f43b3b617e95119c0ad2f7328477
Author: Bob Peterson <rpeterso@redhat.com>
AuthorDate: Tue Aug 4 16:52:01 2009 -0500
Committer: Bob Peterson <rpeterso@redhat.com>
CommitterDate: Tue Aug 4 17:13:14 2009 -0500
GFS2: gfs2_fsck segfault in rindex repair code
bz 514018
---
gfs2/fsck/rgrepair.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gfs2/fsck/rgrepair.c b/gfs2/fsck/rgrepair.c
index 003e9ff..e11b72b 100644
--- a/gfs2/fsck/rgrepair.c
+++ b/gfs2/fsck/rgrepair.c
@@ -369,6 +369,11 @@ int gfs2_rindex_calculate(struct gfs2_sbd *sdp, osi_list_t *ret_list,
/* ----------------------------------------------------------------- */
*num_rgs = sdp->md.riinode->i_di.di_size / sizeof(struct gfs2_rindex);
log_warn("L2: number of rgs in the index = %d.\n", *num_rgs);
+ /* Move the rg list to the return list */
+ ret_list->next = sdp->rglist.next;
+ ret_list->prev = sdp->rglist.prev;
+ ret_list->next->prev = ret_list;
+ ret_list->prev->next = ret_list;
return 0;
}
@@ -540,12 +545,11 @@ int rg_repair(struct gfs2_sbd *sdp, int trust_lvl, int *rg_count)
free(actual->bh);
if (actual->bits)
free(actual->bits);
- gfs2_compute_bitstructs(sdp, actual);
}
else
log_err("RG index not fixed.\n");
+ gfs2_compute_bitstructs(sdp, actual);
rindex_modified = FALSE;
-
}
}
/* ------------------------------------------------------------- */
More information about the Cluster-cvs
mailing list