Lines Matching refs:bd
129 struct gfs2_bufdata *bd; in gfs2_alloc_bufdata() local
131 bd = kmem_cache_zalloc(gfs2_bufdata_cachep, GFP_NOFS | __GFP_NOFAIL); in gfs2_alloc_bufdata()
132 bd->bd_bh = bh; in gfs2_alloc_bufdata()
133 bd->bd_gl = gl; in gfs2_alloc_bufdata()
134 bd->bd_ops = lops; in gfs2_alloc_bufdata()
135 INIT_LIST_HEAD(&bd->bd_list); in gfs2_alloc_bufdata()
136 bh->b_private = bd; in gfs2_alloc_bufdata()
137 return bd; in gfs2_alloc_bufdata()
164 struct gfs2_bufdata *bd; in gfs2_trans_add_data() local
173 bd = bh->b_private; in gfs2_trans_add_data()
174 if (bd == NULL) { in gfs2_trans_add_data()
178 bd = gfs2_alloc_bufdata(gl, bh, &gfs2_databuf_lops); in gfs2_trans_add_data()
180 bd = bh->b_private; in gfs2_trans_add_data()
184 gfs2_assert(sdp, bd->bd_gl == gl); in gfs2_trans_add_data()
186 if (list_empty(&bd->bd_list)) { in gfs2_trans_add_data()
187 set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags); in gfs2_trans_add_data()
188 set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags); in gfs2_trans_add_data()
189 gfs2_pin(sdp, bd->bd_bh); in gfs2_trans_add_data()
191 list_add_tail(&bd->bd_list, &tr->tr_databuf); in gfs2_trans_add_data()
197 static void meta_lo_add(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd) in meta_lo_add() argument
205 if (!list_empty(&bd->bd_list)) in meta_lo_add()
207 set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags); in meta_lo_add()
208 set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags); in meta_lo_add()
209 mh = (struct gfs2_meta_header *)bd->bd_bh->b_data; in meta_lo_add()
212 (unsigned long long)bd->bd_bh->b_blocknr); in meta_lo_add()
219 gfs2_pin(sdp, bd->bd_bh); in meta_lo_add()
222 list_add(&bd->bd_list, &tr->tr_buf); in meta_lo_add()
230 struct gfs2_bufdata *bd; in gfs2_trans_add_meta() local
234 bd = bh->b_private; in gfs2_trans_add_meta()
235 if (bd == NULL) { in gfs2_trans_add_meta()
240 bd = gfs2_alloc_bufdata(gl, bh, &gfs2_buf_lops); in gfs2_trans_add_meta()
242 bd = bh->b_private; in gfs2_trans_add_meta()
247 gfs2_assert(sdp, bd->bd_gl == gl); in gfs2_trans_add_meta()
248 meta_lo_add(sdp, bd); in gfs2_trans_add_meta()
253 void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd) in gfs2_trans_add_revoke() argument
257 BUG_ON(!list_empty(&bd->bd_list)); in gfs2_trans_add_revoke()
258 gfs2_add_revoke(sdp, bd); in gfs2_trans_add_revoke()
265 struct gfs2_bufdata *bd, *tmp; in gfs2_trans_add_unrevoke() local
270 list_for_each_entry_safe(bd, tmp, &sdp->sd_log_le_revoke, bd_list) { in gfs2_trans_add_unrevoke()
271 if ((bd->bd_blkno >= blkno) && (bd->bd_blkno < (blkno + len))) { in gfs2_trans_add_unrevoke()
272 list_del_init(&bd->bd_list); in gfs2_trans_add_unrevoke()
275 kmem_cache_free(gfs2_bufdata_cachep, bd); in gfs2_trans_add_unrevoke()