e4b 428 fs/ext4/mballoc.c static void *mb_find_buddy(struct ext4_buddy *e4b, int order, int *max) e4b 432 fs/ext4/mballoc.c BUG_ON(e4b->bd_bitmap == e4b->bd_buddy); e4b 435 fs/ext4/mballoc.c if (order > e4b->bd_blkbits + 1) { e4b 442 fs/ext4/mballoc.c *max = 1 << (e4b->bd_blkbits + 3); e4b 443 fs/ext4/mballoc.c return e4b->bd_bitmap; e4b 446 fs/ext4/mballoc.c bb = e4b->bd_buddy + EXT4_SB(e4b->bd_sb)->s_mb_offsets[order]; e4b 447 fs/ext4/mballoc.c *max = EXT4_SB(e4b->bd_sb)->s_mb_maxs[order]; e4b 453 fs/ext4/mballoc.c static void mb_free_blocks_double(struct inode *inode, struct ext4_buddy *e4b, e4b 457 fs/ext4/mballoc.c struct super_block *sb = e4b->bd_sb; e4b 459 fs/ext4/mballoc.c if (unlikely(e4b->bd_info->bb_bitmap == NULL)) e4b 461 fs/ext4/mballoc.c assert_spin_locked(ext4_group_lock_ptr(sb, e4b->bd_group)); e4b 463 fs/ext4/mballoc.c if (!mb_test_bit(first + i, e4b->bd_info->bb_bitmap)) { e4b 466 fs/ext4/mballoc.c blocknr = ext4_group_first_block_no(sb, e4b->bd_group); e4b 468 fs/ext4/mballoc.c ext4_grp_locked_error(sb, e4b->bd_group, e4b 474 fs/ext4/mballoc.c ext4_mark_group_bitmap_corrupted(sb, e4b->bd_group, e4b 477 fs/ext4/mballoc.c mb_clear_bit(first + i, e4b->bd_info->bb_bitmap); e4b 481 fs/ext4/mballoc.c static void mb_mark_used_double(struct ext4_buddy *e4b, int first, int count) e4b 485 fs/ext4/mballoc.c if (unlikely(e4b->bd_info->bb_bitmap == NULL)) e4b 487 fs/ext4/mballoc.c assert_spin_locked(ext4_group_lock_ptr(e4b->bd_sb, e4b->bd_group)); e4b 489 fs/ext4/mballoc.c BUG_ON(mb_test_bit(first + i, e4b->bd_info->bb_bitmap)); e4b 490 fs/ext4/mballoc.c mb_set_bit(first + i, e4b->bd_info->bb_bitmap); e4b 494 fs/ext4/mballoc.c static void mb_cmp_bitmaps(struct ext4_buddy *e4b, void *bitmap) e4b 496 fs/ext4/mballoc.c if (memcmp(e4b->bd_info->bb_bitmap, bitmap, e4b->bd_sb->s_blocksize)) { e4b 499 fs/ext4/mballoc.c b1 = (unsigned char *) e4b->bd_info->bb_bitmap; e4b 501 fs/ext4/mballoc.c for (i = 0; i < e4b->bd_sb->s_blocksize; i++) { e4b 503 fs/ext4/mballoc.c ext4_msg(e4b->bd_sb, KERN_ERR, e4b 507 fs/ext4/mballoc.c e4b->bd_group, i, i * 8, b1[i], b2[i]); e4b 516 fs/ext4/mballoc.c struct ext4_buddy *e4b, int first, int count) e4b 520 fs/ext4/mballoc.c static inline void mb_mark_used_double(struct ext4_buddy *e4b, e4b 525 fs/ext4/mballoc.c static inline void mb_cmp_bitmaps(struct ext4_buddy *e4b, void *bitmap) e4b 543 fs/ext4/mballoc.c static int __mb_check_buddy(struct ext4_buddy *e4b, char *file, e4b 546 fs/ext4/mballoc.c struct super_block *sb = e4b->bd_sb; e4b 547 fs/ext4/mballoc.c int order = e4b->bd_blkbits + 1; e4b 568 fs/ext4/mballoc.c buddy = mb_find_buddy(e4b, order, &max); e4b 570 fs/ext4/mballoc.c buddy2 = mb_find_buddy(e4b, order - 1, &max2); e4b 597 fs/ext4/mballoc.c !mb_test_bit(k, e4b->bd_bitmap)); e4b 601 fs/ext4/mballoc.c MB_CHECK_ASSERT(e4b->bd_info->bb_counters[order] == count); e4b 606 fs/ext4/mballoc.c buddy = mb_find_buddy(e4b, 0, &max); e4b 609 fs/ext4/mballoc.c MB_CHECK_ASSERT(i >= e4b->bd_info->bb_first_free); e4b 618 fs/ext4/mballoc.c for (j = 0; j < e4b->bd_blkbits + 1; j++) { e4b 619 fs/ext4/mballoc.c buddy2 = mb_find_buddy(e4b, j, &max2); e4b 625 fs/ext4/mballoc.c MB_CHECK_ASSERT(!EXT4_MB_GRP_NEED_INIT(e4b->bd_info)); e4b 626 fs/ext4/mballoc.c MB_CHECK_ASSERT(e4b->bd_info->bb_fragments == fragments); e4b 628 fs/ext4/mballoc.c grp = ext4_get_group_info(sb, e4b->bd_group); e4b 634 fs/ext4/mballoc.c MB_CHECK_ASSERT(groupnr == e4b->bd_group); e4b 641 fs/ext4/mballoc.c #define mb_check_buddy(e4b) __mb_check_buddy(e4b, \ e4b 644 fs/ext4/mballoc.c #define mb_check_buddy(e4b) e4b 767 fs/ext4/mballoc.c static void mb_regenerate_buddy(struct ext4_buddy *e4b) e4b 773 fs/ext4/mballoc.c while ((buddy = mb_find_buddy(e4b, order++, &count))) { e4b 776 fs/ext4/mballoc.c e4b->bd_info->bb_fragments = 0; e4b 777 fs/ext4/mballoc.c memset(e4b->bd_info->bb_counters, 0, e4b 778 fs/ext4/mballoc.c sizeof(*e4b->bd_info->bb_counters) * e4b 779 fs/ext4/mballoc.c (e4b->bd_sb->s_blocksize_bits + 2)); e4b 781 fs/ext4/mballoc.c ext4_mb_generate_buddy(e4b->bd_sb, e4b->bd_buddy, e4b 782 fs/ext4/mballoc.c e4b->bd_bitmap, e4b->bd_group); e4b 973 fs/ext4/mballoc.c ext4_group_t group, struct ext4_buddy *e4b, gfp_t gfp) e4b 980 fs/ext4/mballoc.c e4b->bd_buddy_page = NULL; e4b 981 fs/ext4/mballoc.c e4b->bd_bitmap_page = NULL; e4b 996 fs/ext4/mballoc.c e4b->bd_bitmap_page = page; e4b 997 fs/ext4/mballoc.c e4b->bd_bitmap = page_address(page) + (poff * sb->s_blocksize); e4b 1010 fs/ext4/mballoc.c e4b->bd_buddy_page = page; e4b 1014 fs/ext4/mballoc.c static void ext4_mb_put_buddy_page_lock(struct ext4_buddy *e4b) e4b 1016 fs/ext4/mballoc.c if (e4b->bd_bitmap_page) { e4b 1017 fs/ext4/mballoc.c unlock_page(e4b->bd_bitmap_page); e4b 1018 fs/ext4/mballoc.c put_page(e4b->bd_bitmap_page); e4b 1020 fs/ext4/mballoc.c if (e4b->bd_buddy_page) { e4b 1021 fs/ext4/mballoc.c unlock_page(e4b->bd_buddy_page); e4b 1022 fs/ext4/mballoc.c put_page(e4b->bd_buddy_page); e4b 1036 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 1052 fs/ext4/mballoc.c ret = ext4_mb_get_buddy_page_lock(sb, group, &e4b, gfp); e4b 1061 fs/ext4/mballoc.c page = e4b.bd_bitmap_page; e4b 1070 fs/ext4/mballoc.c if (e4b.bd_buddy_page == NULL) { e4b 1080 fs/ext4/mballoc.c page = e4b.bd_buddy_page; e4b 1081 fs/ext4/mballoc.c ret = ext4_mb_init_cache(page, e4b.bd_bitmap, gfp); e4b 1089 fs/ext4/mballoc.c ext4_mb_put_buddy_page_lock(&e4b); e4b 1100 fs/ext4/mballoc.c struct ext4_buddy *e4b, gfp_t gfp) e4b 1118 fs/ext4/mballoc.c e4b->bd_blkbits = sb->s_blocksize_bits; e4b 1119 fs/ext4/mballoc.c e4b->bd_info = grp; e4b 1120 fs/ext4/mballoc.c e4b->bd_sb = sb; e4b 1121 fs/ext4/mballoc.c e4b->bd_group = group; e4b 1122 fs/ext4/mballoc.c e4b->bd_buddy_page = NULL; e4b 1123 fs/ext4/mballoc.c e4b->bd_bitmap_page = NULL; e4b 1167 fs/ext4/mballoc.c mb_cmp_bitmaps(e4b, page_address(page) + e4b 1183 fs/ext4/mballoc.c e4b->bd_bitmap_page = page; e4b 1184 fs/ext4/mballoc.c e4b->bd_bitmap = page_address(page) + (poff * sb->s_blocksize); e4b 1198 fs/ext4/mballoc.c ret = ext4_mb_init_cache(page, e4b->bd_bitmap, e4b 1218 fs/ext4/mballoc.c e4b->bd_buddy_page = page; e4b 1219 fs/ext4/mballoc.c e4b->bd_buddy = page_address(page) + (poff * sb->s_blocksize); e4b 1221 fs/ext4/mballoc.c BUG_ON(e4b->bd_bitmap_page == NULL); e4b 1222 fs/ext4/mballoc.c BUG_ON(e4b->bd_buddy_page == NULL); e4b 1229 fs/ext4/mballoc.c if (e4b->bd_bitmap_page) e4b 1230 fs/ext4/mballoc.c put_page(e4b->bd_bitmap_page); e4b 1231 fs/ext4/mballoc.c if (e4b->bd_buddy_page) e4b 1232 fs/ext4/mballoc.c put_page(e4b->bd_buddy_page); e4b 1233 fs/ext4/mballoc.c e4b->bd_buddy = NULL; e4b 1234 fs/ext4/mballoc.c e4b->bd_bitmap = NULL; e4b 1239 fs/ext4/mballoc.c struct ext4_buddy *e4b) e4b 1241 fs/ext4/mballoc.c return ext4_mb_load_buddy_gfp(sb, group, e4b, GFP_NOFS); e4b 1244 fs/ext4/mballoc.c static void ext4_mb_unload_buddy(struct ext4_buddy *e4b) e4b 1246 fs/ext4/mballoc.c if (e4b->bd_bitmap_page) e4b 1247 fs/ext4/mballoc.c put_page(e4b->bd_bitmap_page); e4b 1248 fs/ext4/mballoc.c if (e4b->bd_buddy_page) e4b 1249 fs/ext4/mballoc.c put_page(e4b->bd_buddy_page); e4b 1253 fs/ext4/mballoc.c static int mb_find_order_for_block(struct ext4_buddy *e4b, int block) e4b 1256 fs/ext4/mballoc.c int bb_incr = 1 << (e4b->bd_blkbits - 1); e4b 1259 fs/ext4/mballoc.c BUG_ON(e4b->bd_bitmap == e4b->bd_buddy); e4b 1260 fs/ext4/mballoc.c BUG_ON(block >= (1 << (e4b->bd_blkbits + 3))); e4b 1262 fs/ext4/mballoc.c bb = e4b->bd_buddy; e4b 1263 fs/ext4/mballoc.c while (order <= e4b->bd_blkbits + 1) { e4b 1356 fs/ext4/mballoc.c static void mb_buddy_mark_free(struct ext4_buddy *e4b, int first, int last) e4b 1360 fs/ext4/mballoc.c void *buddy = mb_find_buddy(e4b, order, &max); e4b 1395 fs/ext4/mballoc.c e4b->bd_info->bb_counters[order] += mb_buddy_adjust_border(&first, buddy, -1); e4b 1397 fs/ext4/mballoc.c e4b->bd_info->bb_counters[order] += mb_buddy_adjust_border(&last, buddy, 1); e4b 1402 fs/ext4/mballoc.c if (first == last || !(buddy2 = mb_find_buddy(e4b, order, &max))) { e4b 1404 fs/ext4/mballoc.c e4b->bd_info->bb_counters[order - 1] += last - first + 1; e4b 1413 fs/ext4/mballoc.c static void mb_free_blocks(struct inode *inode, struct ext4_buddy *e4b, e4b 1420 fs/ext4/mballoc.c struct super_block *sb = e4b->bd_sb; e4b 1425 fs/ext4/mballoc.c assert_spin_locked(ext4_group_lock_ptr(sb, e4b->bd_group)); e4b 1427 fs/ext4/mballoc.c if (unlikely(EXT4_MB_GRP_BBITMAP_CORRUPT(e4b->bd_info))) e4b 1430 fs/ext4/mballoc.c mb_check_buddy(e4b); e4b 1431 fs/ext4/mballoc.c mb_free_blocks_double(inode, e4b, first, count); e4b 1433 fs/ext4/mballoc.c e4b->bd_info->bb_free += count; e4b 1434 fs/ext4/mballoc.c if (first < e4b->bd_info->bb_first_free) e4b 1435 fs/ext4/mballoc.c e4b->bd_info->bb_first_free = first; e4b 1441 fs/ext4/mballoc.c left_is_free = !mb_test_bit(first - 1, e4b->bd_bitmap); e4b 1442 fs/ext4/mballoc.c block = mb_test_and_clear_bits(e4b->bd_bitmap, first, count); e4b 1444 fs/ext4/mballoc.c right_is_free = !mb_test_bit(last + 1, e4b->bd_bitmap); e4b 1450 fs/ext4/mballoc.c blocknr = ext4_group_first_block_no(sb, e4b->bd_group); e4b 1452 fs/ext4/mballoc.c ext4_grp_locked_error(sb, e4b->bd_group, e4b 1458 fs/ext4/mballoc.c ext4_mark_group_bitmap_corrupted(sb, e4b->bd_group, e4b 1460 fs/ext4/mballoc.c mb_regenerate_buddy(e4b); e4b 1466 fs/ext4/mballoc.c e4b->bd_info->bb_fragments--; e4b 1468 fs/ext4/mballoc.c e4b->bd_info->bb_fragments++; e4b 1478 fs/ext4/mballoc.c e4b->bd_info->bb_counters[0] += left_is_free ? -1 : 1; e4b 1482 fs/ext4/mballoc.c e4b->bd_info->bb_counters[0] += right_is_free ? -1 : 1; e4b 1486 fs/ext4/mballoc.c mb_buddy_mark_free(e4b, first >> 1, last >> 1); e4b 1489 fs/ext4/mballoc.c mb_set_largest_free_order(sb, e4b->bd_info); e4b 1490 fs/ext4/mballoc.c mb_check_buddy(e4b); e4b 1493 fs/ext4/mballoc.c static int mb_find_extent(struct ext4_buddy *e4b, int block, e4b 1500 fs/ext4/mballoc.c assert_spin_locked(ext4_group_lock_ptr(e4b->bd_sb, e4b->bd_group)); e4b 1503 fs/ext4/mballoc.c buddy = mb_find_buddy(e4b, 0, &max); e4b 1514 fs/ext4/mballoc.c order = mb_find_order_for_block(e4b, block); e4b 1519 fs/ext4/mballoc.c ex->fe_group = e4b->bd_group; e4b 1527 fs/ext4/mballoc.c mb_find_buddy(e4b, order, &max)) { e4b 1533 fs/ext4/mballoc.c if (mb_test_bit(next, e4b->bd_bitmap)) e4b 1536 fs/ext4/mballoc.c order = mb_find_order_for_block(e4b, next); e4b 1542 fs/ext4/mballoc.c if (ex->fe_start + ex->fe_len > EXT4_CLUSTERS_PER_GROUP(e4b->bd_sb)) { e4b 1545 fs/ext4/mballoc.c ext4_error(e4b->bd_sb, "corruption or bug in mb_find_extent " e4b 1556 fs/ext4/mballoc.c static int mb_mark_used(struct ext4_buddy *e4b, struct ext4_free_extent *ex) e4b 1568 fs/ext4/mballoc.c BUG_ON(start + len > (e4b->bd_sb->s_blocksize << 3)); e4b 1569 fs/ext4/mballoc.c BUG_ON(e4b->bd_group != ex->fe_group); e4b 1570 fs/ext4/mballoc.c assert_spin_locked(ext4_group_lock_ptr(e4b->bd_sb, e4b->bd_group)); e4b 1571 fs/ext4/mballoc.c mb_check_buddy(e4b); e4b 1572 fs/ext4/mballoc.c mb_mark_used_double(e4b, start, len); e4b 1574 fs/ext4/mballoc.c e4b->bd_info->bb_free -= len; e4b 1575 fs/ext4/mballoc.c if (e4b->bd_info->bb_first_free == start) e4b 1576 fs/ext4/mballoc.c e4b->bd_info->bb_first_free += len; e4b 1580 fs/ext4/mballoc.c mlen = !mb_test_bit(start - 1, e4b->bd_bitmap); e4b 1581 fs/ext4/mballoc.c if (start + len < EXT4_SB(e4b->bd_sb)->s_mb_maxs[0]) e4b 1582 fs/ext4/mballoc.c max = !mb_test_bit(start + len, e4b->bd_bitmap); e4b 1584 fs/ext4/mballoc.c e4b->bd_info->bb_fragments++; e4b 1586 fs/ext4/mballoc.c e4b->bd_info->bb_fragments--; e4b 1590 fs/ext4/mballoc.c ord = mb_find_order_for_block(e4b, start); e4b 1595 fs/ext4/mballoc.c buddy = mb_find_buddy(e4b, ord, &max); e4b 1598 fs/ext4/mballoc.c e4b->bd_info->bb_counters[ord]--; e4b 1611 fs/ext4/mballoc.c buddy = mb_find_buddy(e4b, ord, &max); e4b 1613 fs/ext4/mballoc.c e4b->bd_info->bb_counters[ord]--; e4b 1617 fs/ext4/mballoc.c buddy = mb_find_buddy(e4b, ord, &max); e4b 1620 fs/ext4/mballoc.c e4b->bd_info->bb_counters[ord]++; e4b 1621 fs/ext4/mballoc.c e4b->bd_info->bb_counters[ord]++; e4b 1623 fs/ext4/mballoc.c mb_set_largest_free_order(e4b->bd_sb, e4b->bd_info); e4b 1625 fs/ext4/mballoc.c ext4_set_bits(e4b->bd_bitmap, ex->fe_start, len0); e4b 1626 fs/ext4/mballoc.c mb_check_buddy(e4b); e4b 1635 fs/ext4/mballoc.c struct ext4_buddy *e4b) e4b 1640 fs/ext4/mballoc.c BUG_ON(ac->ac_b_ex.fe_group != e4b->bd_group); e4b 1645 fs/ext4/mballoc.c ret = mb_mark_used(e4b, &ac->ac_b_ex); e4b 1662 fs/ext4/mballoc.c ac->ac_bitmap_page = e4b->bd_bitmap_page; e4b 1664 fs/ext4/mballoc.c ac->ac_buddy_page = e4b->bd_buddy_page; e4b 1680 fs/ext4/mballoc.c struct ext4_buddy *e4b, e4b 1707 fs/ext4/mballoc.c && bex->fe_group == e4b->bd_group) { e4b 1711 fs/ext4/mballoc.c max = mb_find_extent(e4b, bex->fe_start, gex->fe_len, &ex); e4b 1713 fs/ext4/mballoc.c ext4_mb_use_best_found(ac, e4b); e4b 1731 fs/ext4/mballoc.c struct ext4_buddy *e4b) e4b 1748 fs/ext4/mballoc.c ext4_mb_use_best_found(ac, e4b); e4b 1757 fs/ext4/mballoc.c ext4_mb_use_best_found(ac, e4b); e4b 1785 fs/ext4/mballoc.c ext4_mb_check_limits(ac, e4b, 0); e4b 1790 fs/ext4/mballoc.c struct ext4_buddy *e4b) e4b 1798 fs/ext4/mballoc.c err = ext4_mb_load_buddy(ac->ac_sb, group, e4b); e4b 1803 fs/ext4/mballoc.c max = mb_find_extent(e4b, ex.fe_start, ex.fe_len, &ex); e4b 1807 fs/ext4/mballoc.c ext4_mb_use_best_found(ac, e4b); e4b 1811 fs/ext4/mballoc.c ext4_mb_unload_buddy(e4b); e4b 1818 fs/ext4/mballoc.c struct ext4_buddy *e4b) e4b 1832 fs/ext4/mballoc.c err = ext4_mb_load_buddy(ac->ac_sb, group, e4b); e4b 1836 fs/ext4/mballoc.c if (unlikely(EXT4_MB_GRP_BBITMAP_CORRUPT(e4b->bd_info))) { e4b 1837 fs/ext4/mballoc.c ext4_mb_unload_buddy(e4b); e4b 1842 fs/ext4/mballoc.c max = mb_find_extent(e4b, ac->ac_g_ex.fe_start, e4b 1849 fs/ext4/mballoc.c start = ext4_group_first_block_no(ac->ac_sb, e4b->bd_group) + e4b 1855 fs/ext4/mballoc.c ext4_mb_use_best_found(ac, e4b); e4b 1863 fs/ext4/mballoc.c ext4_mb_use_best_found(ac, e4b); e4b 1872 fs/ext4/mballoc.c ext4_mb_use_best_found(ac, e4b); e4b 1875 fs/ext4/mballoc.c ext4_mb_unload_buddy(e4b); e4b 1886 fs/ext4/mballoc.c struct ext4_buddy *e4b) e4b 1889 fs/ext4/mballoc.c struct ext4_group_info *grp = e4b->bd_info; e4b 1900 fs/ext4/mballoc.c buddy = mb_find_buddy(e4b, i, &max); e4b 1910 fs/ext4/mballoc.c ac->ac_b_ex.fe_group = e4b->bd_group; e4b 1912 fs/ext4/mballoc.c ext4_mb_use_best_found(ac, e4b); e4b 1930 fs/ext4/mballoc.c struct ext4_buddy *e4b) e4b 1933 fs/ext4/mballoc.c void *bitmap = e4b->bd_bitmap; e4b 1938 fs/ext4/mballoc.c free = e4b->bd_info->bb_free; e4b 1942 fs/ext4/mballoc.c i = e4b->bd_info->bb_first_free; e4b 1953 fs/ext4/mballoc.c ext4_grp_locked_error(sb, e4b->bd_group, 0, 0, e4b 1957 fs/ext4/mballoc.c ext4_mark_group_bitmap_corrupted(sb, e4b->bd_group, e4b 1962 fs/ext4/mballoc.c mb_find_extent(e4b, i, ac->ac_g_ex.fe_len, &ex); e4b 1966 fs/ext4/mballoc.c ext4_grp_locked_error(sb, e4b->bd_group, 0, 0, e4b 1970 fs/ext4/mballoc.c ext4_mark_group_bitmap_corrupted(sb, e4b->bd_group, e4b 1980 fs/ext4/mballoc.c ext4_mb_measure_extent(ac, &ex, e4b); e4b 1986 fs/ext4/mballoc.c ext4_mb_check_limits(ac, e4b, 1); e4b 1995 fs/ext4/mballoc.c struct ext4_buddy *e4b) e4b 1999 fs/ext4/mballoc.c void *bitmap = e4b->bd_bitmap; e4b 2009 fs/ext4/mballoc.c first_group_block = ext4_group_first_block_no(sb, e4b->bd_group); e4b 2017 fs/ext4/mballoc.c max = mb_find_extent(e4b, i, sbi->s_stripe, &ex); e4b 2022 fs/ext4/mballoc.c ext4_mb_use_best_found(ac, e4b); e4b 2108 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 2120 fs/ext4/mballoc.c err = ext4_mb_find_by_goal(ac, &e4b); e4b 2192 fs/ext4/mballoc.c err = ext4_mb_load_buddy(sb, group, &e4b); e4b 2205 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 2213 fs/ext4/mballoc.c ext4_mb_simple_scan_group(ac, &e4b); e4b 2216 fs/ext4/mballoc.c ext4_mb_scan_aligned(ac, &e4b); e4b 2218 fs/ext4/mballoc.c ext4_mb_complex_scan_group(ac, &e4b); e4b 2221 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 2235 fs/ext4/mballoc.c ext4_mb_try_best_found(ac, &e4b); e4b 2288 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 2310 fs/ext4/mballoc.c err = ext4_mb_load_buddy(sb, group, &e4b); e4b 2321 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 2801 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 2808 fs/ext4/mballoc.c err = ext4_mb_load_buddy(sb, entry->efd_group, &e4b); e4b 2816 fs/ext4/mballoc.c db = e4b.bd_info; e4b 2823 fs/ext4/mballoc.c mb_free_blocks(NULL, &e4b, entry->efd_start_cluster, entry->efd_count); e4b 2838 fs/ext4/mballoc.c put_page(e4b.bd_buddy_page); e4b 2839 fs/ext4/mballoc.c put_page(e4b.bd_bitmap_page); e4b 2843 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 3308 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 3314 fs/ext4/mballoc.c err = ext4_mb_load_buddy(ac->ac_sb, ac->ac_f_ex.fe_group, &e4b); e4b 3325 fs/ext4/mballoc.c mb_free_blocks(ac->ac_inode, &e4b, ac->ac_f_ex.fe_start, e4b 3328 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 3817 fs/ext4/mballoc.c ext4_mb_release_inode_pa(struct ext4_buddy *e4b, struct buffer_head *bitmap_bh, e4b 3820 fs/ext4/mballoc.c struct super_block *sb = e4b->bd_sb; e4b 3832 fs/ext4/mballoc.c BUG_ON(group != e4b->bd_group && pa->pa_len != 0); e4b 3849 fs/ext4/mballoc.c mb_free_blocks(pa->pa_inode, e4b, bit, next - bit); e4b 3853 fs/ext4/mballoc.c ext4_msg(e4b->bd_sb, KERN_CRIT, e4b 3871 fs/ext4/mballoc.c ext4_mb_release_group_pa(struct ext4_buddy *e4b, e4b 3874 fs/ext4/mballoc.c struct super_block *sb = e4b->bd_sb; e4b 3881 fs/ext4/mballoc.c BUG_ON(group != e4b->bd_group && pa->pa_len != 0); e4b 3882 fs/ext4/mballoc.c mb_free_blocks(pa->pa_inode, e4b, bit, pa->pa_len); e4b 3906 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 3924 fs/ext4/mballoc.c err = ext4_mb_load_buddy(sb, group, &e4b); e4b 3986 fs/ext4/mballoc.c ext4_mb_release_group_pa(&e4b, pa); e4b 3988 fs/ext4/mballoc.c ext4_mb_release_inode_pa(&e4b, bitmap_bh, pa); e4b 3996 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 4018 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 4084 fs/ext4/mballoc.c err = ext4_mb_load_buddy_gfp(sb, group, &e4b, e4b 4097 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 4103 fs/ext4/mballoc.c ext4_mb_release_inode_pa(&e4b, bitmap_bh, pa); e4b 4106 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 4294 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 4346 fs/ext4/mballoc.c err = ext4_mb_load_buddy_gfp(sb, group, &e4b, e4b 4355 fs/ext4/mballoc.c ext4_mb_release_group_pa(&e4b, pa); e4b 4358 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 4646 fs/ext4/mballoc.c ext4_mb_free_metadata(handle_t *handle, struct ext4_buddy *e4b, e4b 4649 fs/ext4/mballoc.c ext4_group_t group = e4b->bd_group; e4b 4653 fs/ext4/mballoc.c struct ext4_group_info *db = e4b->bd_info; e4b 4654 fs/ext4/mballoc.c struct super_block *sb = e4b->bd_sb; e4b 4660 fs/ext4/mballoc.c BUG_ON(e4b->bd_bitmap_page == NULL); e4b 4661 fs/ext4/mballoc.c BUG_ON(e4b->bd_buddy_page == NULL); e4b 4672 fs/ext4/mballoc.c get_page(e4b->bd_buddy_page); e4b 4673 fs/ext4/mballoc.c get_page(e4b->bd_bitmap_page); e4b 4737 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 4879 fs/ext4/mballoc.c err = ext4_mb_load_buddy_gfp(sb, block_group, &e4b, e4b 4907 fs/ext4/mballoc.c ext4_mb_free_metadata(handle, &e4b, new_entry); e4b 4922 fs/ext4/mballoc.c EXT4_MB_GRP_CLEAR_TRIMMED(e4b.bd_info); e4b 4926 fs/ext4/mballoc.c mb_free_blocks(inode, &e4b, bit, count_clusters); e4b 4954 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 4997 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 5072 fs/ext4/mballoc.c err = ext4_mb_load_buddy(sb, block_group, &e4b); e4b 5083 fs/ext4/mballoc.c mb_free_blocks(NULL, &e4b, bit, cluster_count); e4b 5100 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 5131 fs/ext4/mballoc.c ext4_group_t group, struct ext4_buddy *e4b) e4b 5150 fs/ext4/mballoc.c mb_mark_used(e4b, &ex); e4b 5154 fs/ext4/mballoc.c mb_free_blocks(NULL, e4b, start, ex.fe_len); e4b 5183 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 5188 fs/ext4/mballoc.c ret = ext4_mb_load_buddy(sb, group, &e4b); e4b 5194 fs/ext4/mballoc.c bitmap = e4b.bd_bitmap; e4b 5197 fs/ext4/mballoc.c if (EXT4_MB_GRP_WAS_TRIMMED(e4b.bd_info) && e4b 5201 fs/ext4/mballoc.c start = (e4b.bd_info->bb_first_free > start) ? e4b 5202 fs/ext4/mballoc.c e4b.bd_info->bb_first_free : start; e4b 5212 fs/ext4/mballoc.c next - start, group, &e4b); e4b 5232 fs/ext4/mballoc.c if ((e4b.bd_info->bb_free - free_count) < minblocks) e4b 5238 fs/ext4/mballoc.c EXT4_MB_GRP_SET_TRIMMED(e4b.bd_info); e4b 5242 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b); e4b 5353 fs/ext4/mballoc.c struct ext4_buddy e4b; e4b 5356 fs/ext4/mballoc.c error = ext4_mb_load_buddy(sb, group, &e4b); e4b 5359 fs/ext4/mballoc.c bitmap = e4b.bd_bitmap; e4b 5363 fs/ext4/mballoc.c start = (e4b.bd_info->bb_first_free > start) ? e4b 5364 fs/ext4/mballoc.c e4b.bd_info->bb_first_free : start; e4b 5385 fs/ext4/mballoc.c ext4_mb_unload_buddy(&e4b);