diff options
author | Bob Peterson <rpeterso@redhat.com> | 2008-01-03 10:24:53 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2008-01-25 03:17:04 -0500 |
commit | 0811a127cb83ad2e0355e5e3e30164d7ef0f2d65 (patch) | |
tree | f1e7eacb1a8a30e47299137db25be673621b9ee0 /fs | |
parent | e5d9dc278c7f79c220e4506cc1ade2efa2ca73fd (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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/gfs2/ops_fstype.c | 1 | ||||
-rw-r--r-- | fs/gfs2/super.c | 1 |
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) |