aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2008-01-03 10:24:53 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2008-01-25 03:17:04 -0500
commit0811a127cb83ad2e0355e5e3e30164d7ef0f2d65 (patch)
treef1e7eacb1a8a30e47299137db25be673621b9ee0
parente5d9dc278c7f79c220e4506cc1ade2efa2ca73fd (diff)
[GFS2] Initialize extent_list earlier
Here is a patch for the latest upstream GFS2 code: The journal extent map needs to be initialized sooner than it currently is. Otherwise failed mount attempts (e.g. not enough journals, etc.) may panic trying to access the uninitialized list. Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
-rw-r--r--fs/gfs2/ops_fstype.c1
-rw-r--r--fs/gfs2/super.c1
2 files changed, 1 insertions, 1 deletions
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 5537798af381..43d511bba52d 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -329,7 +329,6 @@ static int map_journal_extents(struct gfs2_sbd *sdp)
329 struct buffer_head bh; 329 struct buffer_head bh;
330 int rc = 0; 330 int rc = 0;
331 331
332 INIT_LIST_HEAD(&jd->extent_list);
333 prev_db = 0; 332 prev_db = 0;
334 333
335 for (lb = 0; lb < ip->i_di.di_size >> sdp->sd_sb.sb_bsize_shift; lb++) { 334 for (lb = 0; lb < ip->i_di.di_size >> sdp->sd_sb.sb_bsize_shift; lb++) {
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index 5d0017d313a3..ef0562c3bc71 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -387,6 +387,7 @@ int gfs2_jindex_hold(struct gfs2_sbd *sdp, struct gfs2_holder *ji_gh)
387 if (!jd) 387 if (!jd)
388 break; 388 break;
389 389
390 INIT_LIST_HEAD(&jd->extent_list);
390 jd->jd_inode = gfs2_lookupi(sdp->sd_jindex, &name, 1, NULL); 391 jd->jd_inode = gfs2_lookupi(sdp->sd_jindex, &name, 1, NULL);
391 if (!jd->jd_inode || IS_ERR(jd->jd_inode)) { 392 if (!jd->jd_inode || IS_ERR(jd->jd_inode)) {
392 if (!jd->jd_inode) 393 if (!jd->jd_inode)