diff options
Diffstat (limited to 'fs/gfs2/lops.c')
| -rw-r--r-- | fs/gfs2/lops.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index 852c1be1dd3..8ff95a2d54e 100644 --- a/fs/gfs2/lops.c +++ b/fs/gfs2/lops.c @@ -401,9 +401,14 @@ static void buf_lo_add(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)  		goto out;  	set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags);  	set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags); -	gfs2_meta_check(sdp, bd->bd_bh); -	gfs2_pin(sdp, bd->bd_bh);  	mh = (struct gfs2_meta_header *)bd->bd_bh->b_data; +	if (unlikely(mh->mh_magic != cpu_to_be32(GFS2_MAGIC))) { +		printk(KERN_ERR +		       "Attempting to add uninitialised block to journal (inplace block=%lld)\n", +		       (unsigned long long)bd->bd_bh->b_blocknr); +		BUG(); +	} +	gfs2_pin(sdp, bd->bd_bh);  	mh->__pad0 = cpu_to_be64(0);  	mh->mh_jid = cpu_to_be32(sdp->sd_jdesc->jd_jid);  	sdp->sd_log_num_buf++;  |