Lines Matching refs:bh
43 struct buffer_head *bh, in nilfs_mdt_insert_new_block() argument
54 bh->b_blocknr = 0; in nilfs_mdt_insert_new_block()
56 ret = nilfs_bmap_insert(ii->i_bmap, block, (unsigned long)bh); in nilfs_mdt_insert_new_block()
60 set_buffer_mapped(bh); in nilfs_mdt_insert_new_block()
62 kaddr = kmap_atomic(bh->b_page); in nilfs_mdt_insert_new_block()
63 memset(kaddr + bh_offset(bh), 0, 1 << inode->i_blkbits); in nilfs_mdt_insert_new_block()
65 init_block(inode, bh, kaddr); in nilfs_mdt_insert_new_block()
66 flush_dcache_page(bh->b_page); in nilfs_mdt_insert_new_block()
69 set_buffer_uptodate(bh); in nilfs_mdt_insert_new_block()
70 mark_buffer_dirty(bh); in nilfs_mdt_insert_new_block()
86 struct buffer_head *bh; in nilfs_mdt_create_block() local
92 bh = nilfs_grab_buffer(inode, inode->i_mapping, block, 0); in nilfs_mdt_create_block()
93 if (unlikely(!bh)) in nilfs_mdt_create_block()
97 if (buffer_uptodate(bh)) in nilfs_mdt_create_block()
100 wait_on_buffer(bh); in nilfs_mdt_create_block()
101 if (buffer_uptodate(bh)) in nilfs_mdt_create_block()
104 bh->b_bdev = sb->s_bdev; in nilfs_mdt_create_block()
105 err = nilfs_mdt_insert_new_block(inode, block, bh, init_block); in nilfs_mdt_create_block()
107 get_bh(bh); in nilfs_mdt_create_block()
108 *out_bh = bh; in nilfs_mdt_create_block()
112 unlock_page(bh->b_page); in nilfs_mdt_create_block()
113 page_cache_release(bh->b_page); in nilfs_mdt_create_block()
114 brelse(bh); in nilfs_mdt_create_block()
129 struct buffer_head *bh; in nilfs_mdt_submit_block() local
133 bh = nilfs_grab_buffer(inode, inode->i_mapping, blkoff, 0); in nilfs_mdt_submit_block()
134 if (unlikely(!bh)) in nilfs_mdt_submit_block()
138 if (buffer_uptodate(bh)) in nilfs_mdt_submit_block()
142 if (!trylock_buffer(bh)) { in nilfs_mdt_submit_block()
147 lock_buffer(bh); in nilfs_mdt_submit_block()
149 if (buffer_uptodate(bh)) { in nilfs_mdt_submit_block()
150 unlock_buffer(bh); in nilfs_mdt_submit_block()
156 unlock_buffer(bh); in nilfs_mdt_submit_block()
159 map_bh(bh, inode->i_sb, (sector_t)blknum); in nilfs_mdt_submit_block()
161 bh->b_end_io = end_buffer_read_sync; in nilfs_mdt_submit_block()
162 get_bh(bh); in nilfs_mdt_submit_block()
163 submit_bh(mode, bh); in nilfs_mdt_submit_block()
168 get_bh(bh); in nilfs_mdt_submit_block()
169 *out_bh = bh; in nilfs_mdt_submit_block()
172 unlock_page(bh->b_page); in nilfs_mdt_submit_block()
173 page_cache_release(bh->b_page); in nilfs_mdt_submit_block()
174 brelse(bh); in nilfs_mdt_submit_block()
182 struct buffer_head *first_bh, *bh; in nilfs_mdt_read_block() local
197 err = nilfs_mdt_submit_block(inode, blkoff, READA, &bh); in nilfs_mdt_read_block()
199 brelse(bh); in nilfs_mdt_read_block()
381 struct buffer_head *bh; in nilfs_mdt_forget_block() local
383 bh = nilfs_page_get_nth_block(page, block - first_block); in nilfs_mdt_forget_block()
384 nilfs_forget_buffer(bh); in nilfs_mdt_forget_block()
412 struct buffer_head *bh; in nilfs_mdt_mark_block_dirty() local
415 err = nilfs_mdt_read_block(inode, block, 0, &bh); in nilfs_mdt_mark_block_dirty()
418 mark_buffer_dirty(bh); in nilfs_mdt_mark_block_dirty()
420 brelse(bh); in nilfs_mdt_mark_block_dirty()
554 int nilfs_mdt_freeze_buffer(struct inode *inode, struct buffer_head *bh) in nilfs_mdt_freeze_buffer() argument
561 page = grab_cache_page(&shadow->frozen_data, bh->b_page->index); in nilfs_mdt_freeze_buffer()
568 bh_frozen = nilfs_page_get_nth_block(page, bh_offset(bh) >> blkbits); in nilfs_mdt_freeze_buffer()
571 nilfs_copy_buffer(bh_frozen, bh); in nilfs_mdt_freeze_buffer()
575 set_buffer_nilfs_redirected(bh); in nilfs_mdt_freeze_buffer()
586 nilfs_mdt_get_frozen_buffer(struct inode *inode, struct buffer_head *bh) in nilfs_mdt_get_frozen_buffer() argument
593 page = find_lock_page(&shadow->frozen_data, bh->b_page->index); in nilfs_mdt_get_frozen_buffer()
596 n = bh_offset(bh) >> inode->i_blkbits; in nilfs_mdt_get_frozen_buffer()
608 struct buffer_head *bh; in nilfs_release_frozen_buffers() local
611 bh = list_first_entry(head, struct buffer_head, in nilfs_release_frozen_buffers()
613 list_del_init(&bh->b_assoc_buffers); in nilfs_release_frozen_buffers()
614 brelse(bh); /* drop ref-count to make it releasable */ in nilfs_release_frozen_buffers()