Lines Matching refs:bh
42 struct buffer_head *bh, in nilfs_mdt_insert_new_block() argument
53 bh->b_blocknr = 0; in nilfs_mdt_insert_new_block()
55 ret = nilfs_bmap_insert(ii->i_bmap, block, (unsigned long)bh); in nilfs_mdt_insert_new_block()
59 set_buffer_mapped(bh); in nilfs_mdt_insert_new_block()
61 kaddr = kmap_atomic(bh->b_page); in nilfs_mdt_insert_new_block()
62 memset(kaddr + bh_offset(bh), 0, 1 << inode->i_blkbits); in nilfs_mdt_insert_new_block()
64 init_block(inode, bh, kaddr); in nilfs_mdt_insert_new_block()
65 flush_dcache_page(bh->b_page); in nilfs_mdt_insert_new_block()
68 set_buffer_uptodate(bh); in nilfs_mdt_insert_new_block()
69 mark_buffer_dirty(bh); in nilfs_mdt_insert_new_block()
82 struct buffer_head *bh; in nilfs_mdt_create_block() local
88 bh = nilfs_grab_buffer(inode, inode->i_mapping, block, 0); in nilfs_mdt_create_block()
89 if (unlikely(!bh)) in nilfs_mdt_create_block()
93 if (buffer_uptodate(bh)) in nilfs_mdt_create_block()
96 wait_on_buffer(bh); in nilfs_mdt_create_block()
97 if (buffer_uptodate(bh)) in nilfs_mdt_create_block()
100 bh->b_bdev = sb->s_bdev; in nilfs_mdt_create_block()
101 err = nilfs_mdt_insert_new_block(inode, block, bh, init_block); in nilfs_mdt_create_block()
103 get_bh(bh); in nilfs_mdt_create_block()
104 *out_bh = bh; in nilfs_mdt_create_block()
108 unlock_page(bh->b_page); in nilfs_mdt_create_block()
109 page_cache_release(bh->b_page); in nilfs_mdt_create_block()
110 brelse(bh); in nilfs_mdt_create_block()
125 struct buffer_head *bh; in nilfs_mdt_submit_block() local
129 bh = nilfs_grab_buffer(inode, inode->i_mapping, blkoff, 0); in nilfs_mdt_submit_block()
130 if (unlikely(!bh)) in nilfs_mdt_submit_block()
134 if (buffer_uptodate(bh)) in nilfs_mdt_submit_block()
138 if (!trylock_buffer(bh)) { in nilfs_mdt_submit_block()
143 lock_buffer(bh); in nilfs_mdt_submit_block()
145 if (buffer_uptodate(bh)) { in nilfs_mdt_submit_block()
146 unlock_buffer(bh); in nilfs_mdt_submit_block()
152 unlock_buffer(bh); in nilfs_mdt_submit_block()
155 map_bh(bh, inode->i_sb, (sector_t)blknum); in nilfs_mdt_submit_block()
157 bh->b_end_io = end_buffer_read_sync; in nilfs_mdt_submit_block()
158 get_bh(bh); in nilfs_mdt_submit_block()
159 submit_bh(mode, bh); in nilfs_mdt_submit_block()
162 get_bh(bh); in nilfs_mdt_submit_block()
163 *out_bh = bh; in nilfs_mdt_submit_block()
166 unlock_page(bh->b_page); in nilfs_mdt_submit_block()
167 page_cache_release(bh->b_page); in nilfs_mdt_submit_block()
168 brelse(bh); in nilfs_mdt_submit_block()
176 struct buffer_head *first_bh, *bh; in nilfs_mdt_read_block() local
191 err = nilfs_mdt_submit_block(inode, blkoff, READA, &bh); in nilfs_mdt_read_block()
193 brelse(bh); in nilfs_mdt_read_block()
375 struct buffer_head *bh; in nilfs_mdt_forget_block() local
377 bh = nilfs_page_get_nth_block(page, block - first_block); in nilfs_mdt_forget_block()
378 nilfs_forget_buffer(bh); in nilfs_mdt_forget_block()
406 struct buffer_head *bh; in nilfs_mdt_mark_block_dirty() local
409 err = nilfs_mdt_read_block(inode, block, 0, &bh); in nilfs_mdt_mark_block_dirty()
412 mark_buffer_dirty(bh); in nilfs_mdt_mark_block_dirty()
414 brelse(bh); in nilfs_mdt_mark_block_dirty()
548 int nilfs_mdt_freeze_buffer(struct inode *inode, struct buffer_head *bh) in nilfs_mdt_freeze_buffer() argument
555 page = grab_cache_page(&shadow->frozen_data, bh->b_page->index); in nilfs_mdt_freeze_buffer()
562 bh_frozen = nilfs_page_get_nth_block(page, bh_offset(bh) >> blkbits); in nilfs_mdt_freeze_buffer()
565 nilfs_copy_buffer(bh_frozen, bh); in nilfs_mdt_freeze_buffer()
569 set_buffer_nilfs_redirected(bh); in nilfs_mdt_freeze_buffer()
580 nilfs_mdt_get_frozen_buffer(struct inode *inode, struct buffer_head *bh) in nilfs_mdt_get_frozen_buffer() argument
587 page = find_lock_page(&shadow->frozen_data, bh->b_page->index); in nilfs_mdt_get_frozen_buffer()
590 n = bh_offset(bh) >> inode->i_blkbits; in nilfs_mdt_get_frozen_buffer()
602 struct buffer_head *bh; in nilfs_release_frozen_buffers() local
605 bh = list_first_entry(head, struct buffer_head, in nilfs_release_frozen_buffers()
607 list_del_init(&bh->b_assoc_buffers); in nilfs_release_frozen_buffers()
608 brelse(bh); /* drop ref-count to make it releasable */ in nilfs_release_frozen_buffers()