Lines Matching refs:ex

1504 				int needed, struct ext4_free_extent *ex)  in mb_find_extent()  argument
1511 BUG_ON(ex == NULL); in mb_find_extent()
1517 ex->fe_len = 0; in mb_find_extent()
1518 ex->fe_start = 0; in mb_find_extent()
1519 ex->fe_group = 0; in mb_find_extent()
1527 ex->fe_len = 1 << order; in mb_find_extent()
1528 ex->fe_start = block << order; in mb_find_extent()
1529 ex->fe_group = e4b->bd_group; in mb_find_extent()
1532 next = next - ex->fe_start; in mb_find_extent()
1533 ex->fe_len -= next; in mb_find_extent()
1534 ex->fe_start += next; in mb_find_extent()
1536 while (needed > ex->fe_len && in mb_find_extent()
1549 ex->fe_len += 1 << order; in mb_find_extent()
1552 BUG_ON(ex->fe_start + ex->fe_len > (1 << (e4b->bd_blkbits + 3))); in mb_find_extent()
1553 return ex->fe_len; in mb_find_extent()
1556 static int mb_mark_used(struct ext4_buddy *e4b, struct ext4_free_extent *ex) in mb_mark_used() argument
1562 int start = ex->fe_start; in mb_mark_used()
1563 int len = ex->fe_len; in mb_mark_used()
1569 BUG_ON(e4b->bd_group != ex->fe_group); in mb_mark_used()
1625 ext4_set_bits(e4b->bd_bitmap, ex->fe_start, len0); in mb_mark_used()
1686 struct ext4_free_extent ex; in ext4_mb_check_limits() local
1711 max = mb_find_extent(e4b, bex->fe_start, gex->fe_len, &ex); in ext4_mb_check_limits()
1730 struct ext4_free_extent *ex, in ext4_mb_measure_extent() argument
1736 BUG_ON(ex->fe_len <= 0); in ext4_mb_measure_extent()
1737 BUG_ON(ex->fe_len > EXT4_CLUSTERS_PER_GROUP(ac->ac_sb)); in ext4_mb_measure_extent()
1738 BUG_ON(ex->fe_start >= EXT4_CLUSTERS_PER_GROUP(ac->ac_sb)); in ext4_mb_measure_extent()
1747 *bex = *ex; in ext4_mb_measure_extent()
1755 if (ex->fe_len == gex->fe_len) { in ext4_mb_measure_extent()
1756 *bex = *ex; in ext4_mb_measure_extent()
1765 *bex = *ex; in ext4_mb_measure_extent()
1775 if (ex->fe_len > bex->fe_len) in ext4_mb_measure_extent()
1776 *bex = *ex; in ext4_mb_measure_extent()
1777 } else if (ex->fe_len > gex->fe_len) { in ext4_mb_measure_extent()
1781 if (ex->fe_len < bex->fe_len) in ext4_mb_measure_extent()
1782 *bex = *ex; in ext4_mb_measure_extent()
1792 struct ext4_free_extent ex = ac->ac_b_ex; in ext4_mb_try_best_found() local
1793 ext4_group_t group = ex.fe_group; in ext4_mb_try_best_found()
1797 BUG_ON(ex.fe_len <= 0); in ext4_mb_try_best_found()
1803 max = mb_find_extent(e4b, ex.fe_start, ex.fe_len, &ex); in ext4_mb_try_best_found()
1806 ac->ac_b_ex = ex; in ext4_mb_try_best_found()
1825 struct ext4_free_extent ex; in ext4_mb_find_by_goal() local
1843 ac->ac_g_ex.fe_len, &ex); in ext4_mb_find_by_goal()
1844 ex.fe_logical = 0xDEADFA11; /* debug value */ in ext4_mb_find_by_goal()
1850 ex.fe_start; in ext4_mb_find_by_goal()
1854 ac->ac_b_ex = ex; in ext4_mb_find_by_goal()
1858 BUG_ON(ex.fe_len <= 0); in ext4_mb_find_by_goal()
1859 BUG_ON(ex.fe_group != ac->ac_g_ex.fe_group); in ext4_mb_find_by_goal()
1860 BUG_ON(ex.fe_start != ac->ac_g_ex.fe_start); in ext4_mb_find_by_goal()
1862 ac->ac_b_ex = ex; in ext4_mb_find_by_goal()
1867 BUG_ON(ex.fe_len <= 0); in ext4_mb_find_by_goal()
1868 BUG_ON(ex.fe_group != ac->ac_g_ex.fe_group); in ext4_mb_find_by_goal()
1869 BUG_ON(ex.fe_start != ac->ac_g_ex.fe_start); in ext4_mb_find_by_goal()
1871 ac->ac_b_ex = ex; in ext4_mb_find_by_goal()
1934 struct ext4_free_extent ex; in ext4_mb_complex_scan_group() local
1959 mb_find_extent(e4b, i, ac->ac_g_ex.fe_len, &ex); in ext4_mb_complex_scan_group()
1960 BUG_ON(ex.fe_len <= 0); in ext4_mb_complex_scan_group()
1961 if (free < ex.fe_len) { in ext4_mb_complex_scan_group()
1965 free, ex.fe_len); in ext4_mb_complex_scan_group()
1973 ex.fe_logical = 0xDEADC0DE; /* debug value */ in ext4_mb_complex_scan_group()
1974 ext4_mb_measure_extent(ac, &ex, e4b); in ext4_mb_complex_scan_group()
1976 i += ex.fe_len; in ext4_mb_complex_scan_group()
1977 free -= ex.fe_len; in ext4_mb_complex_scan_group()
1994 struct ext4_free_extent ex; in ext4_mb_scan_aligned() local
2011 max = mb_find_extent(e4b, i, sbi->s_stripe, &ex); in ext4_mb_scan_aligned()
2014 ex.fe_logical = 0xDEADF00D; /* debug value */ in ext4_mb_scan_aligned()
2015 ac->ac_b_ex = ex; in ext4_mb_scan_aligned()
5057 struct ext4_free_extent ex; in ext4_trim_extent() local
5064 ex.fe_start = start; in ext4_trim_extent()
5065 ex.fe_group = group; in ext4_trim_extent()
5066 ex.fe_len = count; in ext4_trim_extent()
5072 mb_mark_used(e4b, &ex); in ext4_trim_extent()
5076 mb_free_blocks(NULL, e4b, start, ex.fe_len); in ext4_trim_extent()