Lines Matching refs:bh
60 struct buffer_head ** bh) in ext3_get_group_desc() argument
88 if (bh) in ext3_get_group_desc()
89 *bh = sbi->s_group_desc[group_desc]; in ext3_get_group_desc()
96 struct buffer_head *bh) in ext3_valid_block_bitmap() argument
108 if (!ext3_test_bit(offset, bh->b_data)) in ext3_valid_block_bitmap()
115 if (!ext3_test_bit(offset, bh->b_data)) in ext3_valid_block_bitmap()
122 next_zero_bit = ext3_find_next_zero_bit(bh->b_data, in ext3_valid_block_bitmap()
151 struct buffer_head * bh = NULL; in read_block_bitmap() local
159 bh = sb_getblk(sb, bitmap_blk); in read_block_bitmap()
160 if (unlikely(!bh)) { in read_block_bitmap()
167 if (likely(bh_uptodate_or_lock(bh))) in read_block_bitmap()
168 return bh; in read_block_bitmap()
170 if (bh_submit_read(bh) < 0) { in read_block_bitmap()
171 brelse(bh); in read_block_bitmap()
178 ext3_valid_block_bitmap(sb, desc, block_group, bh); in read_block_bitmap()
183 return bh; in read_block_bitmap()
713 static int ext3_test_allocatable(ext3_grpblk_t nr, struct buffer_head *bh) in ext3_test_allocatable() argument
716 struct journal_head *jh = bh2jh(bh); in ext3_test_allocatable()
718 if (ext3_test_bit(nr, bh->b_data)) in ext3_test_allocatable()
721 jbd_lock_bh_state(bh); in ext3_test_allocatable()
726 jbd_unlock_bh_state(bh); in ext3_test_allocatable()
741 bitmap_search_next_usable_block(ext3_grpblk_t start, struct buffer_head *bh, in bitmap_search_next_usable_block() argument
745 struct journal_head *jh = bh2jh(bh); in bitmap_search_next_usable_block()
748 next = ext3_find_next_zero_bit(bh->b_data, maxblocks, start); in bitmap_search_next_usable_block()
751 if (ext3_test_allocatable(next, bh)) in bitmap_search_next_usable_block()
753 jbd_lock_bh_state(bh); in bitmap_search_next_usable_block()
757 jbd_unlock_bh_state(bh); in bitmap_search_next_usable_block()
776 find_next_usable_block(ext3_grpblk_t start, struct buffer_head *bh, in find_next_usable_block() argument
794 here = ext3_find_next_zero_bit(bh->b_data, end_goal, start); in find_next_usable_block()
795 if (here < end_goal && ext3_test_allocatable(here, bh)) in find_next_usable_block()
804 p = bh->b_data + (here >> 3); in find_next_usable_block()
806 next = (r - bh->b_data) << 3; in find_next_usable_block()
808 if (next < maxblocks && next >= start && ext3_test_allocatable(next, bh)) in find_next_usable_block()
816 here = bitmap_search_next_usable_block(here, bh, maxblocks); in find_next_usable_block()
833 claim_block(spinlock_t *lock, ext3_grpblk_t block, struct buffer_head *bh) in claim_block() argument
835 struct journal_head *jh = bh2jh(bh); in claim_block()
838 if (ext3_set_bit_atomic(lock, block, bh->b_data)) in claim_block()
840 jbd_lock_bh_state(bh); in claim_block()
842 ext3_clear_bit_atomic(lock, block, bh->b_data); in claim_block()
847 jbd_unlock_bh_state(bh); in claim_block()