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()
119 struct buffer_head *bh; in gfs2_getbuf() local
146 bh = NULL; in gfs2_getbuf()
152 for (bh = page_buffers(page); bufnum--; bh = bh->b_this_page) in gfs2_getbuf()
154 get_bh(bh); in gfs2_getbuf()
156 if (!buffer_mapped(bh)) in gfs2_getbuf()
157 map_bh(bh, sdp->sd_vfs, blkno); in gfs2_getbuf()
163 return bh; in gfs2_getbuf()
166 static void meta_prep_new(struct buffer_head *bh) in meta_prep_new() argument
168 struct gfs2_meta_header *mh = (struct gfs2_meta_header *)bh->b_data; in meta_prep_new()
170 lock_buffer(bh); in meta_prep_new()
171 clear_buffer_dirty(bh); in meta_prep_new()
172 set_buffer_uptodate(bh); in meta_prep_new()
173 unlock_buffer(bh); in meta_prep_new()
188 struct buffer_head *bh; in gfs2_meta_new() local
189 bh = gfs2_getbuf(gl, blkno, CREATE); in gfs2_meta_new()
190 meta_prep_new(bh); in gfs2_meta_new()
191 return bh; in gfs2_meta_new()
201 struct buffer_head *bh = page_buffers(page); in gfs2_meta_read_endio() local
204 while (bh_offset(bh) < bvec->bv_offset) in gfs2_meta_read_endio()
205 bh = bh->b_this_page; in gfs2_meta_read_endio()
207 struct buffer_head *next = bh->b_this_page; in gfs2_meta_read_endio()
208 len -= bh->b_size; in gfs2_meta_read_endio()
209 bh->b_end_io(bh, !bio->bi_status); in gfs2_meta_read_endio()
210 bh = next; in gfs2_meta_read_endio()
211 } while (bh && len); in gfs2_meta_read_endio()
223 struct buffer_head *bh = *bhs; in gfs2_submit_bhs() local
226 bio = bio_alloc(bh->b_bdev, num, opf, GFP_NOIO); in gfs2_submit_bhs()
227 bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); in gfs2_submit_bhs()
229 bh = *bhs; in gfs2_submit_bhs()
230 if (!bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh))) { in gfs2_submit_bhs()
257 struct buffer_head *bh, *bhs[2]; in gfs2_meta_read() local
266 *bhp = bh = gfs2_getbuf(gl, blkno, CREATE); in gfs2_meta_read()
268 lock_buffer(bh); in gfs2_meta_read()
269 if (buffer_uptodate(bh)) { in gfs2_meta_read()
270 unlock_buffer(bh); in gfs2_meta_read()
273 bh->b_end_io = end_buffer_read_sync; in gfs2_meta_read()
274 get_bh(bh); in gfs2_meta_read()
275 bhs[num++] = bh; in gfs2_meta_read()
279 bh = gfs2_getbuf(gl, blkno + 1, CREATE); in gfs2_meta_read()
281 lock_buffer(bh); in gfs2_meta_read()
282 if (buffer_uptodate(bh)) { in gfs2_meta_read()
283 unlock_buffer(bh); in gfs2_meta_read()
284 brelse(bh); in gfs2_meta_read()
286 bh->b_end_io = end_buffer_read_sync; in gfs2_meta_read()
287 bhs[num++] = bh; in gfs2_meta_read()
295 bh = *bhp; in gfs2_meta_read()
296 wait_on_buffer(bh); in gfs2_meta_read()
297 if (unlikely(!buffer_uptodate(bh))) { in gfs2_meta_read()
300 gfs2_io_error_bh_wd(sdp, bh); in gfs2_meta_read()
301 brelse(bh); in gfs2_meta_read()
317 int gfs2_meta_wait(struct gfs2_sbd *sdp, struct buffer_head *bh) in gfs2_meta_wait() argument
323 wait_on_buffer(bh); in gfs2_meta_wait()
325 if (!buffer_uptodate(bh)) { in gfs2_meta_wait()
328 gfs2_io_error_bh_wd(sdp, bh); in gfs2_meta_wait()
338 void gfs2_remove_from_journal(struct buffer_head *bh, int meta) in gfs2_remove_from_journal() argument
340 struct address_space *mapping = bh->b_folio->mapping; in gfs2_remove_from_journal()
342 struct gfs2_bufdata *bd = bh->b_private; in gfs2_remove_from_journal()
346 if (test_clear_buffer_pinned(bh)) { in gfs2_remove_from_journal()
356 brelse(bh); in gfs2_remove_from_journal()
362 bh->b_private = NULL; in gfs2_remove_from_journal()
369 clear_buffer_dirty(bh); in gfs2_remove_from_journal()
370 clear_buffer_uptodate(bh); in gfs2_remove_from_journal()
388 struct buffer_head *bh; in gfs2_ail1_wipe() local
396 bh = bd->bd_bh; in gfs2_ail1_wipe()
397 if (bh->b_blocknr < bstart || bh->b_blocknr >= end) in gfs2_ail1_wipe()
400 gfs2_remove_from_journal(bh, REMOVE_JDATA); in gfs2_ail1_wipe()
412 struct buffer_head *bh; in gfs2_getjdatabuf() local
426 for (bh = page_buffers(page); bufnum--; bh = bh->b_this_page) in gfs2_getjdatabuf()
428 get_bh(bh); in gfs2_getjdatabuf()
431 return bh; in gfs2_getjdatabuf()
445 struct buffer_head *bh; in gfs2_journal_wipe() local
457 bh = gfs2_getbuf(ip->i_gl, bstart, NO_CREATE); in gfs2_journal_wipe()
458 if (!bh && gfs2_is_jdata(ip)) { in gfs2_journal_wipe()
459 bh = gfs2_getjdatabuf(ip, bstart); in gfs2_journal_wipe()
462 if (bh) { in gfs2_journal_wipe()
463 lock_buffer(bh); in gfs2_journal_wipe()
466 gfs2_remove_from_journal(bh, ty); in gfs2_journal_wipe()
469 unlock_buffer(bh); in gfs2_journal_wipe()
470 brelse(bh); in gfs2_journal_wipe()
493 struct buffer_head *bh; in gfs2_meta_buffer() local
500 ret = gfs2_meta_read(gl, num, DIO_WAIT, rahead, &bh); in gfs2_meta_buffer()
501 if (ret == 0 && gfs2_metatype_check(sdp, bh, mtype)) { in gfs2_meta_buffer()
502 brelse(bh); in gfs2_meta_buffer()
505 *bhp = bh; in gfs2_meta_buffer()
522 struct buffer_head *first_bh, *bh; in gfs2_meta_ra() local
543 bh = gfs2_getbuf(gl, dblock, CREATE); in gfs2_meta_ra()
545 bh_readahead(bh, REQ_RAHEAD | REQ_META | REQ_PRIO); in gfs2_meta_ra()
546 brelse(bh); in gfs2_meta_ra()