aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/trans.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/gfs2/trans.c')
-rw-r--r--fs/gfs2/trans.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/gfs2/trans.c b/fs/gfs2/trans.c
index 01cc27fefd84..717983e2c2ae 100644
--- a/fs/gfs2/trans.c
+++ b/fs/gfs2/trans.c
@@ -142,12 +142,12 @@ void gfs2_trans_add_bh(struct gfs2_glock *gl, struct buffer_head *bh, int meta)
142 lops_add(sdp, &bd->bd_le); 142 lops_add(sdp, &bd->bd_le);
143} 143}
144 144
145void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, u64 blkno) 145void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)
146{ 146{
147 struct gfs2_bufdata *bd = kmem_cache_alloc(gfs2_bufdata_cachep, 147 BUG_ON(!list_empty(&bd->bd_le.le_list));
148 GFP_NOFS | __GFP_NOFAIL); 148 BUG_ON(!list_empty(&bd->bd_ail_st_list));
149 BUG_ON(!list_empty(&bd->bd_ail_gl_list));
149 lops_init_le(&bd->bd_le, &gfs2_revoke_lops); 150 lops_init_le(&bd->bd_le, &gfs2_revoke_lops);
150 bd->bd_blkno = blkno;
151 lops_add(sdp, &bd->bd_le); 151 lops_add(sdp, &bd->bd_le);
152} 152}
153 153
@@ -160,7 +160,7 @@ void gfs2_trans_add_unrevoke(struct gfs2_sbd *sdp, u64 blkno)
160 160
161 list_for_each_entry(bd, &sdp->sd_log_le_revoke, bd_le.le_list) { 161 list_for_each_entry(bd, &sdp->sd_log_le_revoke, bd_le.le_list) {
162 if (bd->bd_blkno == blkno) { 162 if (bd->bd_blkno == blkno) {
163 list_del(&bd->bd_le.le_list); 163 list_del_init(&bd->bd_le.le_list);
164 gfs2_assert_withdraw(sdp, sdp->sd_log_num_revoke); 164 gfs2_assert_withdraw(sdp, sdp->sd_log_num_revoke);
165 sdp->sd_log_num_revoke--; 165 sdp->sd_log_num_revoke--;
166 found = 1; 166 found = 1;