Lines Matching refs:bd
131 struct gfs2_bufdata *bd;
133 bd = kmem_cache_zalloc(gfs2_bufdata_cachep, GFP_NOFS | __GFP_NOFAIL);
134 bd->bd_bh = bh;
135 bd->bd_gl = gl;
136 INIT_LIST_HEAD(&bd->bd_list);
137 INIT_LIST_HEAD(&bd->bd_ail_st_list);
138 INIT_LIST_HEAD(&bd->bd_ail_gl_list);
139 bh->b_private = bd;
140 return bd;
161 struct gfs2_bufdata *bd;
169 bd = bh->b_private;
170 if (bd == NULL) {
174 bd = gfs2_alloc_bufdata(gl, bh);
176 bd = bh->b_private;
180 gfs2_assert(sdp, bd->bd_gl == gl);
182 if (list_empty(&bd->bd_list)) {
183 set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags);
184 set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags);
185 gfs2_pin(sdp, bd->bd_bh);
187 list_add_tail(&bd->bd_list, &tr->tr_databuf);
198 struct gfs2_bufdata *bd;
209 bd = bh->b_private;
210 if (bd == NULL) {
215 bd = gfs2_alloc_bufdata(gl, bh);
217 bd = bh->b_private;
222 gfs2_assert(sdp, bd->bd_gl == gl);
224 if (!list_empty(&bd->bd_list))
226 set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags);
227 set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags);
228 mh = (struct gfs2_meta_header *)bd->bd_bh->b_data;
232 (unsigned long long)bd->bd_bh->b_blocknr);
241 (unsigned long long)bd->bd_bh->b_blocknr);
243 gfs2_pin(sdp, bd->bd_bh);
246 list_add(&bd->bd_list, &tr->tr_buf);
254 void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)
258 BUG_ON(!list_empty(&bd->bd_list));
259 gfs2_add_revoke(sdp, bd);
266 struct gfs2_bufdata *bd, *tmp;
271 list_for_each_entry_safe(bd, tmp, &sdp->sd_log_revokes, bd_list) {
272 if ((bd->bd_blkno >= blkno) && (bd->bd_blkno < (blkno + len))) {
273 list_del_init(&bd->bd_list);
276 if (bd->bd_gl)
277 gfs2_glock_remove_revoke(bd->bd_gl);
278 kmem_cache_free(gfs2_bufdata_cachep, bd);