Lines Matching refs:bh
46 struct buffer_head *bh; in gfs2_page_add_databufs() local
49 for (bh = head, start = 0; bh != head || !start; in gfs2_page_add_databufs()
50 bh = bh->b_this_page, start = end) { in gfs2_page_add_databufs()
55 set_buffer_uptodate(bh); in gfs2_page_add_databufs()
56 gfs2_trans_add_data(ip->i_gl, bh); in gfs2_page_add_databufs()
964 static void gfs2_discard(struct gfs2_sbd *sdp, struct buffer_head *bh) in gfs2_discard() argument
968 lock_buffer(bh); in gfs2_discard()
970 clear_buffer_dirty(bh); in gfs2_discard()
971 bd = bh->b_private; in gfs2_discard()
973 if (!list_empty(&bd->bd_list) && !buffer_pinned(bh)) in gfs2_discard()
976 gfs2_remove_from_journal(bh, current->journal_info, 0); in gfs2_discard()
978 bh->b_bdev = NULL; in gfs2_discard()
979 clear_buffer_mapped(bh); in gfs2_discard()
980 clear_buffer_req(bh); in gfs2_discard()
981 clear_buffer_new(bh); in gfs2_discard()
983 unlock_buffer(bh); in gfs2_discard()
992 struct buffer_head *bh, *head; in gfs2_invalidatepage() local
1001 bh = head = page_buffers(page); in gfs2_invalidatepage()
1003 if (pos + bh->b_size > stop) in gfs2_invalidatepage()
1007 gfs2_discard(sdp, bh); in gfs2_invalidatepage()
1008 pos += bh->b_size; in gfs2_invalidatepage()
1009 bh = bh->b_this_page; in gfs2_invalidatepage()
1010 } while (bh != head); in gfs2_invalidatepage()
1120 struct buffer_head *bh, *head; in gfs2_releasepage() local
1128 head = bh = page_buffers(page); in gfs2_releasepage()
1130 if (atomic_read(&bh->b_count)) in gfs2_releasepage()
1132 bd = bh->b_private; in gfs2_releasepage()
1135 if (buffer_pinned(bh) || buffer_dirty(bh)) in gfs2_releasepage()
1137 bh = bh->b_this_page; in gfs2_releasepage()
1138 } while(bh != head); in gfs2_releasepage()
1141 head = bh = page_buffers(page); in gfs2_releasepage()
1143 bd = bh->b_private; in gfs2_releasepage()
1145 gfs2_assert_warn(sdp, bd->bd_bh == bh); in gfs2_releasepage()
1149 bh->b_private = NULL; in gfs2_releasepage()
1153 bh = bh->b_this_page; in gfs2_releasepage()
1154 } while (bh != head); in gfs2_releasepage()
1160 WARN_ON(buffer_dirty(bh)); in gfs2_releasepage()
1161 WARN_ON(buffer_pinned(bh)); in gfs2_releasepage()