[Cluster-devel] [GFS2 patch] Initialize extent_list earlier

Steven Whitehouse swhiteho at redhat.com
Thu Jan 3 15:29:58 UTC 2008


Hi,

Now in the -nmw git tree. Thanks,

Steve.

On Thu, 2008-01-03 at 09:24 -0600, Bob Peterson wrote:
> Hi,
> 
> 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.
> 
> Regards,
> 
> Bob Peterson
> 
> Signed-off-by: Bob Peterson <rpeterso at redhat.com>
> --
>  fs/gfs2/ops_fstype.c |    1 -
>  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 a77d41f..9ffc10b 100644
> --- a/fs/gfs2/ops_fstype.c
> +++ b/fs/gfs2/ops_fstype.c
> @@ -330,7 +330,6 @@ static int map_journal_extents(struct gfs2_sbd *sdp)
>  	struct buffer_head bh;
>  	int rc = 0;
>  
> -	INIT_LIST_HEAD(&jd->extent_list);
>  	prev_db = 0;
>  
>  	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 73e49df..fa86038 100644
> --- a/fs/gfs2/super.c
> +++ b/fs/gfs2/super.c
> @@ -385,6 +385,7 @@ int gfs2_jindex_hold(struct gfs2_sbd *sdp, struct gfs2_holder *ji_gh)
>  		if (!jd)
>  			break;
>  
> +		INIT_LIST_HEAD(&jd->extent_list);
>  		jd->jd_inode = gfs2_lookupi(sdp->sd_jindex, &name, 1, NULL);
>  		if (!jd->jd_inode || IS_ERR(jd->jd_inode)) {
>  			if (!jd->jd_inode)
> 
> 




More information about the Cluster-devel mailing list