diff options
Diffstat (limited to 'fs/gfs2/trans.c')
-rw-r--r-- | fs/gfs2/trans.c | 10 |
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 | ||
145 | void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, u64 blkno) | 145 | void 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; |