Lines Matching refs:bd

166 	struct gfs2_bufdata *bd;  in gfs2_alloc_bufdata()  local
168 bd = kmem_cache_zalloc(gfs2_bufdata_cachep, GFP_NOFS | __GFP_NOFAIL); in gfs2_alloc_bufdata()
169 bd->bd_bh = bh; in gfs2_alloc_bufdata()
170 bd->bd_gl = gl; in gfs2_alloc_bufdata()
171 INIT_LIST_HEAD(&bd->bd_list); in gfs2_alloc_bufdata()
172 INIT_LIST_HEAD(&bd->bd_ail_st_list); in gfs2_alloc_bufdata()
173 INIT_LIST_HEAD(&bd->bd_ail_gl_list); in gfs2_alloc_bufdata()
174 bh->b_private = bd; in gfs2_alloc_bufdata()
175 return bd; in gfs2_alloc_bufdata()
196 struct gfs2_bufdata *bd; in gfs2_trans_add_data() local
204 bd = bh->b_private; in gfs2_trans_add_data()
205 if (bd == NULL) { in gfs2_trans_add_data()
209 bd = gfs2_alloc_bufdata(gl, bh); in gfs2_trans_add_data()
211 bd = bh->b_private; in gfs2_trans_add_data()
215 gfs2_assert(sdp, bd->bd_gl == gl); in gfs2_trans_add_data()
217 if (list_empty(&bd->bd_list)) { in gfs2_trans_add_data()
218 set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags); in gfs2_trans_add_data()
219 set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags); in gfs2_trans_add_data()
220 gfs2_pin(sdp, bd->bd_bh); in gfs2_trans_add_data()
222 list_add_tail(&bd->bd_list, &tr->tr_databuf); in gfs2_trans_add_data()
234 struct gfs2_bufdata *bd; in gfs2_trans_add_meta() local
245 bd = bh->b_private; in gfs2_trans_add_meta()
246 if (bd == NULL) { in gfs2_trans_add_meta()
251 bd = gfs2_alloc_bufdata(gl, bh); in gfs2_trans_add_meta()
253 bd = bh->b_private; in gfs2_trans_add_meta()
258 gfs2_assert(sdp, bd->bd_gl == gl); in gfs2_trans_add_meta()
260 if (!list_empty(&bd->bd_list)) in gfs2_trans_add_meta()
262 set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags); in gfs2_trans_add_meta()
263 set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags); in gfs2_trans_add_meta()
264 mh = (struct gfs2_meta_header *)bd->bd_bh->b_data; in gfs2_trans_add_meta()
268 (unsigned long long)bd->bd_bh->b_blocknr); in gfs2_trans_add_meta()
273 (unsigned long long)bd->bd_bh->b_blocknr); in gfs2_trans_add_meta()
281 gfs2_pin(sdp, bd->bd_bh); in gfs2_trans_add_meta()
284 list_add(&bd->bd_list, &tr->tr_buf); in gfs2_trans_add_meta()
294 void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd) in gfs2_trans_add_revoke() argument
298 BUG_ON(!list_empty(&bd->bd_list)); in gfs2_trans_add_revoke()
299 gfs2_add_revoke(sdp, bd); in gfs2_trans_add_revoke()
306 struct gfs2_bufdata *bd, *tmp; in gfs2_trans_remove_revoke() local
310 list_for_each_entry_safe(bd, tmp, &sdp->sd_log_revokes, bd_list) { in gfs2_trans_remove_revoke()
311 if ((bd->bd_blkno >= blkno) && (bd->bd_blkno < (blkno + len))) { in gfs2_trans_remove_revoke()
312 list_del_init(&bd->bd_list); in gfs2_trans_remove_revoke()
315 if (bd->bd_gl) in gfs2_trans_remove_revoke()
316 gfs2_glock_remove_revoke(bd->bd_gl); in gfs2_trans_remove_revoke()
317 kmem_cache_free(gfs2_bufdata_cachep, bd); in gfs2_trans_remove_revoke()