Lines Matching refs:bh

59 			struct buffer_head *bh, ext3_fsblk_t blocknr)  in ext3_forget()  argument
66 BUFFER_TRACE(bh, "enter"); in ext3_forget()
70 bh, is_metadata, inode->i_mode, in ext3_forget()
80 if (bh) { in ext3_forget()
81 BUFFER_TRACE(bh, "call journal_forget"); in ext3_forget()
82 return ext3_journal_forget(handle, bh); in ext3_forget()
90 BUFFER_TRACE(bh, "call ext3_journal_revoke"); in ext3_forget()
91 err = ext3_journal_revoke(handle, blocknr, bh); in ext3_forget()
95 BUFFER_TRACE(bh, "exit"); in ext3_forget()
295 struct buffer_head *bh; member
298 static inline void add_chain(Indirect *p, struct buffer_head *bh, __le32 *v) in add_chain() argument
301 p->bh = bh; in add_chain()
415 struct buffer_head *bh; in ext3_get_branch() local
423 bh = sb_bread(sb, le32_to_cpu(p->key)); in ext3_get_branch()
424 if (!bh) in ext3_get_branch()
429 add_chain(++p, bh, (__le32*)bh->b_data + *++offsets); in ext3_get_branch()
437 brelse(bh); in ext3_get_branch()
469 __le32 *start = ind->bh ? (__le32*) ind->bh->b_data : ei->i_data; in ext3_find_near()
481 if (ind->bh) in ext3_find_near()
482 return ind->bh->b_blocknr; in ext3_find_near()
660 struct buffer_head *bh; in ext3_alloc_branch() local
680 bh = sb_getblk(inode->i_sb, new_blocks[n-1]); in ext3_alloc_branch()
681 if (unlikely(!bh)) { in ext3_alloc_branch()
685 branch[n].bh = bh; in ext3_alloc_branch()
686 lock_buffer(bh); in ext3_alloc_branch()
687 BUFFER_TRACE(bh, "call get_create_access"); in ext3_alloc_branch()
688 err = ext3_journal_get_create_access(handle, bh); in ext3_alloc_branch()
690 unlock_buffer(bh); in ext3_alloc_branch()
691 brelse(bh); in ext3_alloc_branch()
695 memset(bh->b_data, 0, blocksize); in ext3_alloc_branch()
696 branch[n].p = (__le32 *) bh->b_data + offsets[n]; in ext3_alloc_branch()
709 BUFFER_TRACE(bh, "marking uptodate"); in ext3_alloc_branch()
710 set_buffer_uptodate(bh); in ext3_alloc_branch()
711 unlock_buffer(bh); in ext3_alloc_branch()
713 BUFFER_TRACE(bh, "call ext3_journal_dirty_metadata"); in ext3_alloc_branch()
714 err = ext3_journal_dirty_metadata(handle, bh); in ext3_alloc_branch()
723 BUFFER_TRACE(branch[i].bh, "call journal_forget"); in ext3_alloc_branch()
724 ext3_journal_forget(handle, branch[i].bh); in ext3_alloc_branch()
763 if (where->bh) { in ext3_splice_branch()
764 BUFFER_TRACE(where->bh, "get_write_access"); in ext3_splice_branch()
765 err = ext3_journal_get_write_access(handle, where->bh); in ext3_splice_branch()
796 if (!timespec_equal(&inode->i_ctime, &now) || !where->bh) { in ext3_splice_branch()
804 if (where->bh) { in ext3_splice_branch()
814 BUFFER_TRACE(where->bh, "call ext3_journal_dirty_metadata"); in ext3_splice_branch()
815 err = ext3_journal_dirty_metadata(handle, where->bh); in ext3_splice_branch()
829 BUFFER_TRACE(where[i].bh, "call journal_forget"); in ext3_splice_branch()
830 ext3_journal_forget(handle, where[i].bh); in ext3_splice_branch()
939 brelse(partial->bh); in ext3_get_blocks_handle()
998 BUFFER_TRACE(partial->bh, "call brelse"); in ext3_get_blocks_handle()
999 brelse(partial->bh); in ext3_get_blocks_handle()
1085 struct buffer_head *bh; in ext3_getblk() local
1086 bh = sb_getblk(inode->i_sb, dummy.b_blocknr); in ext3_getblk()
1087 if (unlikely(!bh)) { in ext3_getblk()
1102 lock_buffer(bh); in ext3_getblk()
1103 BUFFER_TRACE(bh, "call get_create_access"); in ext3_getblk()
1104 fatal = ext3_journal_get_create_access(handle, bh); in ext3_getblk()
1105 if (!fatal && !buffer_uptodate(bh)) { in ext3_getblk()
1106 memset(bh->b_data,0,inode->i_sb->s_blocksize); in ext3_getblk()
1107 set_buffer_uptodate(bh); in ext3_getblk()
1109 unlock_buffer(bh); in ext3_getblk()
1110 BUFFER_TRACE(bh, "call ext3_journal_dirty_metadata"); in ext3_getblk()
1111 err = ext3_journal_dirty_metadata(handle, bh); in ext3_getblk()
1115 BUFFER_TRACE(bh, "not a new buffer"); in ext3_getblk()
1119 brelse(bh); in ext3_getblk()
1120 bh = NULL; in ext3_getblk()
1122 return bh; in ext3_getblk()
1131 struct buffer_head * bh; in ext3_bread() local
1133 bh = ext3_getblk(handle, inode, block, create, err); in ext3_bread()
1134 if (!bh) in ext3_bread()
1135 return bh; in ext3_bread()
1136 if (bh_uptodate_or_lock(bh)) in ext3_bread()
1137 return bh; in ext3_bread()
1138 get_bh(bh); in ext3_bread()
1139 bh->b_end_io = end_buffer_read_sync; in ext3_bread()
1140 submit_bh(READ | REQ_META | REQ_PRIO, bh); in ext3_bread()
1141 wait_on_buffer(bh); in ext3_bread()
1142 if (buffer_uptodate(bh)) in ext3_bread()
1143 return bh; in ext3_bread()
1144 put_bh(bh); in ext3_bread()
1155 struct buffer_head *bh)) in walk_page_buffers() argument
1157 struct buffer_head *bh; in walk_page_buffers() local
1163 for ( bh = head, block_start = 0; in walk_page_buffers()
1164 ret == 0 && (bh != head || !block_start); in walk_page_buffers()
1165 block_start = block_end, bh = next) in walk_page_buffers()
1167 next = bh->b_this_page; in walk_page_buffers()
1170 if (partial && !buffer_uptodate(bh)) in walk_page_buffers()
1174 err = (*fn)(handle, bh); in walk_page_buffers()
1207 struct buffer_head *bh) in do_journal_get_write_access() argument
1209 int dirty = buffer_dirty(bh); in do_journal_get_write_access()
1212 if (!buffer_mapped(bh) || buffer_freed(bh)) in do_journal_get_write_access()
1223 clear_buffer_dirty(bh); in do_journal_get_write_access()
1224 ret = ext3_journal_get_write_access(handle, bh); in do_journal_get_write_access()
1226 ret = ext3_journal_dirty_metadata(handle, bh); in do_journal_get_write_access()
1318 int ext3_journal_dirty_data(handle_t *handle, struct buffer_head *bh) in ext3_journal_dirty_data() argument
1320 int err = journal_dirty_data(handle, bh); in ext3_journal_dirty_data()
1323 bh, handle, err); in ext3_journal_dirty_data()
1328 static int journal_dirty_data_fn(handle_t *handle, struct buffer_head *bh) in journal_dirty_data_fn() argument
1334 if (buffer_mapped(bh) && buffer_uptodate(bh)) in journal_dirty_data_fn()
1335 return ext3_journal_dirty_data(handle, bh); in journal_dirty_data_fn()
1340 static int write_end_fn(handle_t *handle, struct buffer_head *bh) in write_end_fn() argument
1342 if (!buffer_mapped(bh) || buffer_freed(bh)) in write_end_fn()
1344 set_buffer_uptodate(bh); in write_end_fn()
1345 return ext3_journal_dirty_metadata(handle, bh); in write_end_fn()
1544 static int bget_one(handle_t *handle, struct buffer_head *bh) in bget_one() argument
1546 get_bh(bh); in bget_one()
1550 static int bput_one(handle_t *handle, struct buffer_head *bh) in bput_one() argument
1552 put_bh(bh); in bput_one()
1556 static int buffer_unmapped(handle_t *handle, struct buffer_head *bh) in buffer_unmapped() argument
1558 return !buffer_mapped(bh); in buffer_unmapped()
2002 struct buffer_head *bh; in ext3_block_truncate_page() local
2020 bh = page_buffers(page); in ext3_block_truncate_page()
2023 bh = bh->b_this_page; in ext3_block_truncate_page()
2029 if (buffer_freed(bh)) { in ext3_block_truncate_page()
2030 BUFFER_TRACE(bh, "freed: skip"); in ext3_block_truncate_page()
2034 if (!buffer_mapped(bh)) { in ext3_block_truncate_page()
2035 BUFFER_TRACE(bh, "unmapped"); in ext3_block_truncate_page()
2036 ext3_get_block(inode, iblock, bh, 0); in ext3_block_truncate_page()
2038 if (!buffer_mapped(bh)) { in ext3_block_truncate_page()
2039 BUFFER_TRACE(bh, "still unmapped"); in ext3_block_truncate_page()
2046 set_buffer_uptodate(bh); in ext3_block_truncate_page()
2048 if (!bh_uptodate_or_lock(bh)) { in ext3_block_truncate_page()
2049 err = bh_submit_read(bh); in ext3_block_truncate_page()
2068 BUFFER_TRACE(bh, "get write access"); in ext3_block_truncate_page()
2069 err = ext3_journal_get_write_access(handle, bh); in ext3_block_truncate_page()
2075 BUFFER_TRACE(bh, "zeroed end of block"); in ext3_block_truncate_page()
2079 err = ext3_journal_dirty_metadata(handle, bh); in ext3_block_truncate_page()
2082 err = ext3_journal_dirty_data(handle, bh); in ext3_block_truncate_page()
2083 mark_buffer_dirty(bh); in ext3_block_truncate_page()
2164 for (p=partial; p>chain && all_zeroes((__le32*)p->bh->b_data,p->p); p--) in ext3_find_shared()
2184 brelse(partial->bh); in ext3_find_shared()
2200 struct buffer_head *bh, ext3_fsblk_t block_to_free, in ext3_clear_blocks() argument
2205 if (bh) { in ext3_clear_blocks()
2206 BUFFER_TRACE(bh, "call ext3_journal_dirty_metadata"); in ext3_clear_blocks()
2207 if (ext3_journal_dirty_metadata(handle, bh)) in ext3_clear_blocks()
2212 if (bh) { in ext3_clear_blocks()
2213 BUFFER_TRACE(bh, "retaking write access"); in ext3_clear_blocks()
2214 if (ext3_journal_get_write_access(handle, bh)) in ext3_clear_blocks()
2230 struct buffer_head *bh; in ext3_clear_blocks() local
2233 bh = sb_find_get_block(inode->i_sb, nr); in ext3_clear_blocks()
2234 ext3_forget(handle, 0, inode, bh, nr); in ext3_clear_blocks()
2352 struct buffer_head *bh; in ext3_free_branches() local
2361 bh = sb_bread(inode->i_sb, nr); in ext3_free_branches()
2367 if (!bh) { in ext3_free_branches()
2375 BUFFER_TRACE(bh, "free child branches"); in ext3_free_branches()
2376 ext3_free_branches(handle, inode, bh, in ext3_free_branches()
2377 (__le32*)bh->b_data, in ext3_free_branches()
2378 (__le32*)bh->b_data + addr_per_block, in ext3_free_branches()
2427 ext3_forget(handle, 1, inode, bh, bh->b_blocknr); in ext3_free_branches()
2572 ext3_free_branches(handle, inode, partial->bh, in ext3_truncate()
2579 ext3_free_branches(handle, inode, partial->bh, partial->p + 1, in ext3_truncate()
2580 (__le32*)partial->bh->b_data+addr_per_block, in ext3_truncate()
2582 BUFFER_TRACE(partial->bh, "call brelse"); in ext3_truncate()
2583 brelse (partial->bh); in ext3_truncate()
2691 struct buffer_head *bh; in __ext3_get_inode_loc() local
2697 bh = sb_getblk(inode->i_sb, block); in __ext3_get_inode_loc()
2698 if (unlikely(!bh)) { in __ext3_get_inode_loc()
2705 if (!buffer_uptodate(bh)) { in __ext3_get_inode_loc()
2706 lock_buffer(bh); in __ext3_get_inode_loc()
2714 if (buffer_write_io_error(bh) && !buffer_uptodate(bh)) in __ext3_get_inode_loc()
2715 set_buffer_uptodate(bh); in __ext3_get_inode_loc()
2717 if (buffer_uptodate(bh)) { in __ext3_get_inode_loc()
2719 unlock_buffer(bh); in __ext3_get_inode_loc()
2738 inodes_per_buffer = bh->b_size / in __ext3_get_inode_loc()
2773 memset(bh->b_data, 0, bh->b_size); in __ext3_get_inode_loc()
2774 set_buffer_uptodate(bh); in __ext3_get_inode_loc()
2775 unlock_buffer(bh); in __ext3_get_inode_loc()
2787 get_bh(bh); in __ext3_get_inode_loc()
2788 bh->b_end_io = end_buffer_read_sync; in __ext3_get_inode_loc()
2789 submit_bh(READ | REQ_META | REQ_PRIO, bh); in __ext3_get_inode_loc()
2790 wait_on_buffer(bh); in __ext3_get_inode_loc()
2791 if (!buffer_uptodate(bh)) { in __ext3_get_inode_loc()
2796 brelse(bh); in __ext3_get_inode_loc()
2801 iloc->bh = bh; in __ext3_get_inode_loc()
2853 struct buffer_head *bh; in ext3_iget() local
2874 bh = iloc.bh; in ext3_iget()
2904 brelse (bh); in ext3_iget()
2972 brelse (bh); in ext3_iget()
3015 brelse (iloc.bh); in ext3_iget()
3038 struct buffer_head *bh = iloc->bh; in ext3_do_update_inode() local
3047 lock_buffer(bh); in ext3_do_update_inode()
3117 unlock_buffer(bh); in ext3_do_update_inode()
3152 BUFFER_TRACE(bh, "call ext3_journal_dirty_metadata"); in ext3_do_update_inode()
3153 unlock_buffer(bh); in ext3_do_update_inode()
3154 rc = ext3_journal_dirty_metadata(handle, bh); in ext3_do_update_inode()
3163 brelse (bh); in ext3_do_update_inode()
3397 get_bh(iloc->bh); in ext3_mark_iloc_dirty()
3401 put_bh(iloc->bh); in ext3_mark_iloc_dirty()
3418 BUFFER_TRACE(iloc->bh, "get_write_access"); in ext3_reserve_inode_write()
3419 err = ext3_journal_get_write_access(handle, iloc->bh); in ext3_reserve_inode_write()
3421 brelse(iloc->bh); in ext3_reserve_inode_write()
3422 iloc->bh = NULL; in ext3_reserve_inode_write()
3509 BUFFER_TRACE(iloc.bh, "get_write_access");
3510 err = journal_get_write_access(handle, iloc.bh);
3513 iloc.bh);
3514 brelse(iloc.bh);