Lines Matching refs:bh

35 	struct buffer_head *bh, *head;  in gfs2_aspace_writepage()  local
43 bh = head; in gfs2_aspace_writepage()
46 if (!buffer_mapped(bh)) in gfs2_aspace_writepage()
56 lock_buffer(bh); in gfs2_aspace_writepage()
57 } else if (!trylock_buffer(bh)) { in gfs2_aspace_writepage()
61 if (test_clear_buffer_dirty(bh)) { in gfs2_aspace_writepage()
62 mark_buffer_async_write(bh); in gfs2_aspace_writepage()
64 unlock_buffer(bh); in gfs2_aspace_writepage()
66 } while ((bh = bh->b_this_page) != head); in gfs2_aspace_writepage()
76 struct buffer_head *next = bh->b_this_page; in gfs2_aspace_writepage()
77 if (buffer_async_write(bh)) { in gfs2_aspace_writepage()
78 submit_bh(REQ_OP_WRITE, write_flags, bh); in gfs2_aspace_writepage()
81 bh = next; in gfs2_aspace_writepage()
82 } while (bh != head); in gfs2_aspace_writepage()
115 struct buffer_head *bh; in gfs2_getbuf() local
145 for (bh = page_buffers(page); bufnum--; bh = bh->b_this_page) in gfs2_getbuf()
147 get_bh(bh); in gfs2_getbuf()
149 if (!buffer_mapped(bh)) in gfs2_getbuf()
150 map_bh(bh, sdp->sd_vfs, blkno); in gfs2_getbuf()
155 return bh; in gfs2_getbuf()
158 static void meta_prep_new(struct buffer_head *bh) in meta_prep_new() argument
160 struct gfs2_meta_header *mh = (struct gfs2_meta_header *)bh->b_data; in meta_prep_new()
162 lock_buffer(bh); in meta_prep_new()
163 clear_buffer_dirty(bh); in meta_prep_new()
164 set_buffer_uptodate(bh); in meta_prep_new()
165 unlock_buffer(bh); in meta_prep_new()
180 struct buffer_head *bh; in gfs2_meta_new() local
181 bh = gfs2_getbuf(gl, blkno, CREATE); in gfs2_meta_new()
182 meta_prep_new(bh); in gfs2_meta_new()
183 return bh; in gfs2_meta_new()
193 struct buffer_head *bh = page_buffers(page); in gfs2_meta_read_endio() local
196 while (bh_offset(bh) < bvec->bv_offset) in gfs2_meta_read_endio()
197 bh = bh->b_this_page; in gfs2_meta_read_endio()
199 struct buffer_head *next = bh->b_this_page; in gfs2_meta_read_endio()
200 len -= bh->b_size; in gfs2_meta_read_endio()
201 bh->b_end_io(bh, !bio->bi_status); in gfs2_meta_read_endio()
202 bh = next; in gfs2_meta_read_endio()
203 } while (bh && len); in gfs2_meta_read_endio()
216 struct buffer_head *bh = *bhs; in gfs2_submit_bhs() local
220 bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); in gfs2_submit_bhs()
221 bio_set_dev(bio, bh->b_bdev); in gfs2_submit_bhs()
223 bh = *bhs; in gfs2_submit_bhs()
224 if (!bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh))) { in gfs2_submit_bhs()
251 struct buffer_head *bh, *bhs[2]; in gfs2_meta_read() local
260 *bhp = bh = gfs2_getbuf(gl, blkno, CREATE); in gfs2_meta_read()
262 lock_buffer(bh); in gfs2_meta_read()
263 if (buffer_uptodate(bh)) { in gfs2_meta_read()
264 unlock_buffer(bh); in gfs2_meta_read()
267 bh->b_end_io = end_buffer_read_sync; in gfs2_meta_read()
268 get_bh(bh); in gfs2_meta_read()
269 bhs[num++] = bh; in gfs2_meta_read()
273 bh = gfs2_getbuf(gl, blkno + 1, CREATE); in gfs2_meta_read()
275 lock_buffer(bh); in gfs2_meta_read()
276 if (buffer_uptodate(bh)) { in gfs2_meta_read()
277 unlock_buffer(bh); in gfs2_meta_read()
278 brelse(bh); in gfs2_meta_read()
280 bh->b_end_io = end_buffer_read_sync; in gfs2_meta_read()
281 bhs[num++] = bh; in gfs2_meta_read()
289 bh = *bhp; in gfs2_meta_read()
290 wait_on_buffer(bh); in gfs2_meta_read()
291 if (unlikely(!buffer_uptodate(bh))) { in gfs2_meta_read()
294 gfs2_io_error_bh_wd(sdp, bh); in gfs2_meta_read()
295 brelse(bh); in gfs2_meta_read()
311 int gfs2_meta_wait(struct gfs2_sbd *sdp, struct buffer_head *bh) in gfs2_meta_wait() argument
316 wait_on_buffer(bh); in gfs2_meta_wait()
318 if (!buffer_uptodate(bh)) { in gfs2_meta_wait()
321 gfs2_io_error_bh_wd(sdp, bh); in gfs2_meta_wait()
330 void gfs2_remove_from_journal(struct buffer_head *bh, int meta) in gfs2_remove_from_journal() argument
332 struct address_space *mapping = bh->b_page->mapping; in gfs2_remove_from_journal()
334 struct gfs2_bufdata *bd = bh->b_private; in gfs2_remove_from_journal()
338 if (test_clear_buffer_pinned(bh)) { in gfs2_remove_from_journal()
348 brelse(bh); in gfs2_remove_from_journal()
354 bh->b_private = NULL; in gfs2_remove_from_journal()
361 clear_buffer_dirty(bh); in gfs2_remove_from_journal()
362 clear_buffer_uptodate(bh); in gfs2_remove_from_journal()
380 struct buffer_head *bh; in gfs2_ail1_wipe() local
388 bh = bd->bd_bh; in gfs2_ail1_wipe()
389 if (bh->b_blocknr < bstart || bh->b_blocknr >= end) in gfs2_ail1_wipe()
392 gfs2_remove_from_journal(bh, REMOVE_JDATA); in gfs2_ail1_wipe()
404 struct buffer_head *bh; in gfs2_getjdatabuf() local
418 for (bh = page_buffers(page); bufnum--; bh = bh->b_this_page) in gfs2_getjdatabuf()
420 get_bh(bh); in gfs2_getjdatabuf()
423 return bh; in gfs2_getjdatabuf()
437 struct buffer_head *bh; in gfs2_journal_wipe() local
443 bh = gfs2_getbuf(ip->i_gl, bstart, NO_CREATE); in gfs2_journal_wipe()
444 if (!bh && gfs2_is_jdata(ip)) { in gfs2_journal_wipe()
445 bh = gfs2_getjdatabuf(ip, bstart); in gfs2_journal_wipe()
448 if (bh) { in gfs2_journal_wipe()
449 lock_buffer(bh); in gfs2_journal_wipe()
452 gfs2_remove_from_journal(bh, ty); in gfs2_journal_wipe()
455 unlock_buffer(bh); in gfs2_journal_wipe()
456 brelse(bh); in gfs2_journal_wipe()
479 struct buffer_head *bh; in gfs2_meta_indirect_buffer() local
487 ret = gfs2_meta_read(gl, num, DIO_WAIT, rahead, &bh); in gfs2_meta_indirect_buffer()
488 if (ret == 0 && gfs2_metatype_check(sdp, bh, mtype)) { in gfs2_meta_indirect_buffer()
489 brelse(bh); in gfs2_meta_indirect_buffer()
492 *bhp = bh; in gfs2_meta_indirect_buffer()
509 struct buffer_head *first_bh, *bh; in gfs2_meta_ra() local
531 bh = gfs2_getbuf(gl, dblock, CREATE); in gfs2_meta_ra()
533 if (!buffer_uptodate(bh) && !buffer_locked(bh)) in gfs2_meta_ra()
536 1, &bh); in gfs2_meta_ra()
537 brelse(bh); in gfs2_meta_ra()