Lines Matching refs:bh
34 struct buffer_head *bh; member
37 static inline void add_chain(Indirect *p, struct buffer_head *bh, __le32 *v) in add_chain() argument
40 p->bh = bh; in add_chain()
150 struct buffer_head *bh; in ext4_get_branch() local
159 bh = sb_getblk(sb, le32_to_cpu(p->key)); in ext4_get_branch()
160 if (unlikely(!bh)) { in ext4_get_branch()
165 if (!bh_uptodate_or_lock(bh)) { in ext4_get_branch()
166 if (ext4_read_bh(bh, 0, NULL) < 0) { in ext4_get_branch()
167 put_bh(bh); in ext4_get_branch()
171 if (ext4_check_indirect_blockref(inode, bh)) { in ext4_get_branch()
172 put_bh(bh); in ext4_get_branch()
177 add_chain(++p, bh, (__le32 *)bh->b_data + *++offsets); in ext4_get_branch()
213 __le32 *start = ind->bh ? (__le32 *) ind->bh->b_data : ei->i_data; in ext4_find_near()
223 if (ind->bh) in ext4_find_near()
224 return ind->bh->b_blocknr; in ext4_find_near()
326 struct buffer_head * bh; in ext4_alloc_branch() local
340 branch[i+1].bh = NULL; in ext4_alloc_branch()
350 bh = branch[i].bh = sb_getblk(ar->inode->i_sb, new_blocks[i-1]); in ext4_alloc_branch()
351 if (unlikely(!bh)) { in ext4_alloc_branch()
355 lock_buffer(bh); in ext4_alloc_branch()
356 BUFFER_TRACE(bh, "call get_create_access"); in ext4_alloc_branch()
358 bh, EXT4_JTR_NONE); in ext4_alloc_branch()
360 unlock_buffer(bh); in ext4_alloc_branch()
364 memset(bh->b_data, 0, bh->b_size); in ext4_alloc_branch()
365 p = branch[i].p = (__le32 *) bh->b_data + offsets[i]; in ext4_alloc_branch()
373 BUFFER_TRACE(bh, "marking uptodate"); in ext4_alloc_branch()
374 set_buffer_uptodate(bh); in ext4_alloc_branch()
375 unlock_buffer(bh); in ext4_alloc_branch()
377 BUFFER_TRACE(bh, "call ext4_handle_dirty_metadata"); in ext4_alloc_branch()
378 err = ext4_handle_dirty_metadata(handle, ar->inode, bh); in ext4_alloc_branch()
400 ext4_free_blocks(handle, ar->inode, branch[i+1].bh, in ext4_alloc_branch()
402 branch[i+1].bh ? EXT4_FREE_BLOCKS_FORGET : 0); in ext4_alloc_branch()
431 if (where->bh) { in ext4_splice_branch()
432 BUFFER_TRACE(where->bh, "get_write_access"); in ext4_splice_branch()
434 where->bh, EXT4_JTR_NONE); in ext4_splice_branch()
454 if (where->bh) { in ext4_splice_branch()
464 BUFFER_TRACE(where->bh, "call ext4_handle_dirty_metadata"); in ext4_splice_branch()
465 err = ext4_handle_dirty_metadata(handle, ar->inode, where->bh); in ext4_splice_branch()
486 ext4_free_blocks(handle, ar->inode, where[i].bh, 0, 1, in ext4_splice_branch()
658 BUFFER_TRACE(partial->bh, "call brelse"); in ext4_ind_map_blocks()
659 brelse(partial->bh); in ext4_ind_map_blocks()
682 struct buffer_head *bh, int *dropped) in ext4_ind_trunc_restart_fn() argument
686 if (bh) { in ext4_ind_trunc_restart_fn()
687 BUFFER_TRACE(bh, "call ext4_handle_dirty_metadata"); in ext4_ind_trunc_restart_fn()
688 err = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_ind_trunc_restart_fn()
718 struct buffer_head *bh, in ext4_ind_truncate_ensure_credits() argument
726 ext4_ind_trunc_restart_fn(handle, inode, bh, &dropped)); in ext4_ind_truncate_ensure_credits()
731 if (bh) { in ext4_ind_truncate_ensure_credits()
732 BUFFER_TRACE(bh, "retaking write access"); in ext4_ind_truncate_ensure_credits()
733 ret = ext4_journal_get_write_access(handle, inode->i_sb, bh, in ext4_ind_truncate_ensure_credits()
811 for (p = partial; (p > chain) && all_zeroes((__le32 *) p->bh->b_data, p->p); p--) in ext4_find_shared()
831 brelse(partial->bh); in ext4_find_shared()
850 struct buffer_head *bh, in ext4_clear_blocks() argument
872 err = ext4_ind_truncate_ensure_credits(handle, inode, bh, in ext4_clear_blocks()
1003 struct buffer_head *bh; in ext4_free_branches() local
1020 bh = ext4_sb_bread(inode->i_sb, nr, 0); in ext4_free_branches()
1026 if (IS_ERR(bh)) { in ext4_free_branches()
1027 ext4_error_inode_block(inode, nr, -PTR_ERR(bh), in ext4_free_branches()
1033 BUFFER_TRACE(bh, "free child branches"); in ext4_free_branches()
1034 ext4_free_branches(handle, inode, bh, in ext4_free_branches()
1035 (__le32 *) bh->b_data, in ext4_free_branches()
1036 (__le32 *) bh->b_data + addr_per_block, in ext4_free_branches()
1038 brelse(bh); in ext4_free_branches()
1165 BUFFER_TRACE(partial->bh, "get_write_access"); in ext4_ind_truncate()
1166 ext4_free_branches(handle, inode, partial->bh, in ext4_ind_truncate()
1173 ext4_free_branches(handle, inode, partial->bh, partial->p + 1, in ext4_ind_truncate()
1174 (__le32*)partial->bh->b_data+addr_per_block, in ext4_ind_truncate()
1176 BUFFER_TRACE(partial->bh, "call brelse"); in ext4_ind_truncate()
1177 brelse(partial->bh); in ext4_ind_truncate()
1279 BUFFER_TRACE(partial->bh, "get_write_access"); in ext4_ind_remove_space()
1280 ext4_free_branches(handle, inode, partial->bh, in ext4_ind_remove_space()
1291 ext4_free_branches(handle, inode, partial->bh, in ext4_ind_remove_space()
1293 (__le32 *)partial->bh->b_data+addr_per_block, in ext4_ind_remove_space()
1325 ext4_free_branches(handle, inode, partial2->bh, in ext4_ind_remove_space()
1326 (__le32 *)partial2->bh->b_data, in ext4_ind_remove_space()
1360 BUFFER_TRACE(partial->bh, "get_write_access"); in ext4_ind_remove_space()
1361 ext4_free_branches(handle, inode, partial->bh, in ext4_ind_remove_space()
1384 partial->bh->b_blocknr == partial2->bh->b_blocknr) { in ext4_ind_remove_space()
1389 ext4_free_branches(handle, inode, partial->bh, in ext4_ind_remove_space()
1404 ext4_free_branches(handle, inode, partial->bh, in ext4_ind_remove_space()
1406 (__le32 *)partial->bh->b_data+addr_per_block, in ext4_ind_remove_space()
1411 ext4_free_branches(handle, inode, partial2->bh, in ext4_ind_remove_space()
1412 (__le32 *)partial2->bh->b_data, in ext4_ind_remove_space()
1421 BUFFER_TRACE(p->bh, "call brelse"); in ext4_ind_remove_space()
1422 brelse(p->bh); in ext4_ind_remove_space()
1426 BUFFER_TRACE(p2->bh, "call brelse"); in ext4_ind_remove_space()
1427 brelse(p2->bh); in ext4_ind_remove_space()