diff options
Diffstat (limited to 'fs/gfs2/lops.c')
| -rw-r--r-- | fs/gfs2/lops.c | 16 | 
1 files changed, 2 insertions, 14 deletions
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index 8ff95a2d54e..9ceccb1595a 100644 --- a/fs/gfs2/lops.c +++ b/fs/gfs2/lops.c @@ -393,12 +393,10 @@ static void buf_lo_add(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)  	struct gfs2_meta_header *mh;  	struct gfs2_trans *tr; -	lock_buffer(bd->bd_bh); -	gfs2_log_lock(sdp);  	tr = current->journal_info;  	tr->tr_touched = 1;  	if (!list_empty(&bd->bd_list)) -		goto out; +		return;  	set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags);  	set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags);  	mh = (struct gfs2_meta_header *)bd->bd_bh->b_data; @@ -414,9 +412,6 @@ static void buf_lo_add(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)  	sdp->sd_log_num_buf++;  	list_add(&bd->bd_list, &sdp->sd_log_le_buf);  	tr->tr_num_buf_new++; -out: -	gfs2_log_unlock(sdp); -	unlock_buffer(bd->bd_bh);  }  static void gfs2_check_magic(struct buffer_head *bh) @@ -621,7 +616,6 @@ static void revoke_lo_add(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)  static void revoke_lo_before_commit(struct gfs2_sbd *sdp)  { -	struct gfs2_log_descriptor *ld;  	struct gfs2_meta_header *mh;  	unsigned int offset;  	struct list_head *head = &sdp->sd_log_le_revoke; @@ -634,7 +628,6 @@ static void revoke_lo_before_commit(struct gfs2_sbd *sdp)  	length = gfs2_struct2blk(sdp, sdp->sd_log_num_revoke, sizeof(u64));  	page = gfs2_get_log_desc(sdp, GFS2_LOG_DESC_REVOKE, length, sdp->sd_log_num_revoke); -	ld = page_address(page);  	offset = sizeof(struct gfs2_log_descriptor);  	list_for_each_entry(bd, head, bd_list) { @@ -777,12 +770,10 @@ static void databuf_lo_add(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)  	struct address_space *mapping = bd->bd_bh->b_page->mapping;  	struct gfs2_inode *ip = GFS2_I(mapping->host); -	lock_buffer(bd->bd_bh); -	gfs2_log_lock(sdp);  	if (tr)  		tr->tr_touched = 1;  	if (!list_empty(&bd->bd_list)) -		goto out; +		return;  	set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags);  	set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags);  	if (gfs2_is_jdata(ip)) { @@ -793,9 +784,6 @@ static void databuf_lo_add(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)  	} else {  		list_add_tail(&bd->bd_list, &sdp->sd_log_le_ordered);  	} -out: -	gfs2_log_unlock(sdp); -	unlock_buffer(bd->bd_bh);  }  /**  |