• Home
  • Raw
  • Download

Lines Matching refs:info

35 			   struct btrfs_free_space *info);
37 struct btrfs_free_space *info);
1459 struct btrfs_free_space *info; in tree_insert_offset() local
1463 info = rb_entry(parent, struct btrfs_free_space, offset_index); in tree_insert_offset()
1465 if (offset < info->offset) { in tree_insert_offset()
1467 } else if (offset > info->offset) { in tree_insert_offset()
1484 if (info->bitmap) { in tree_insert_offset()
1490 if (!info->bitmap) { in tree_insert_offset()
1630 struct btrfs_free_space *info) in __unlink_free_space() argument
1632 rb_erase(&info->offset_index, &ctl->free_space_offset); in __unlink_free_space()
1637 struct btrfs_free_space *info) in unlink_free_space() argument
1639 __unlink_free_space(ctl, info); in unlink_free_space()
1640 ctl->free_space -= info->bytes; in unlink_free_space()
1644 struct btrfs_free_space *info) in link_free_space() argument
1648 ASSERT(info->bytes || info->bitmap); in link_free_space()
1649 ret = tree_insert_offset(&ctl->free_space_offset, info->offset, in link_free_space()
1650 &info->offset_index, (info->bitmap != NULL)); in link_free_space()
1654 ctl->free_space += info->bytes; in link_free_space()
1707 struct btrfs_free_space *info, in __bitmap_clear_bits() argument
1712 start = offset_to_bit(info->offset, ctl->unit, offset); in __bitmap_clear_bits()
1716 bitmap_clear(info->bitmap, start, count); in __bitmap_clear_bits()
1718 info->bytes -= bytes; in __bitmap_clear_bits()
1719 if (info->max_extent_size > ctl->unit) in __bitmap_clear_bits()
1720 info->max_extent_size = 0; in __bitmap_clear_bits()
1724 struct btrfs_free_space *info, u64 offset, in bitmap_clear_bits() argument
1727 __bitmap_clear_bits(ctl, info, offset, bytes); in bitmap_clear_bits()
1732 struct btrfs_free_space *info, u64 offset, in bitmap_set_bits() argument
1737 start = offset_to_bit(info->offset, ctl->unit, offset); in bitmap_set_bits()
1741 bitmap_set(info->bitmap, start, count); in bitmap_set_bits()
1743 info->bytes += bytes; in bitmap_set_bits()
1881 struct btrfs_free_space *info, u64 offset) in add_new_bitmap() argument
1883 info->offset = offset_to_bitmap(ctl, offset); in add_new_bitmap()
1884 info->bytes = 0; in add_new_bitmap()
1885 INIT_LIST_HEAD(&info->list); in add_new_bitmap()
1886 link_free_space(ctl, info); in add_new_bitmap()
1980 struct btrfs_free_space *info, u64 offset, in add_bytes_to_bitmap() argument
1986 end = info->offset + (u64)(BITS_PER_BITMAP * ctl->unit); in add_bytes_to_bitmap()
1990 bitmap_set_bits(ctl, info, offset, bytes_to_set); in add_bytes_to_bitmap()
1996 info->max_extent_size = 0; in add_bytes_to_bitmap()
2003 struct btrfs_free_space *info) in use_bitmap() argument
2026 if (info->bytes <= fs_info->sectorsize * 4) { in use_bitmap()
2054 struct btrfs_free_space *info) in insert_into_bitmap() argument
2062 bytes = info->bytes; in insert_into_bitmap()
2063 offset = info->offset; in insert_into_bitmap()
2065 if (!ctl->op->use_bitmap(ctl, info)) in insert_into_bitmap()
2130 if (info && info->bitmap) { in insert_into_bitmap()
2131 add_new_bitmap(ctl, info, offset); in insert_into_bitmap()
2133 info = NULL; in insert_into_bitmap()
2139 if (!info) { in insert_into_bitmap()
2140 info = kmem_cache_zalloc(btrfs_free_space_cachep, in insert_into_bitmap()
2142 if (!info) { in insert_into_bitmap()
2150 info->bitmap = kmem_cache_zalloc(btrfs_free_space_bitmap_cachep, in insert_into_bitmap()
2153 if (!info->bitmap) { in insert_into_bitmap()
2161 if (info) { in insert_into_bitmap()
2162 if (info->bitmap) in insert_into_bitmap()
2164 info->bitmap); in insert_into_bitmap()
2165 kmem_cache_free(btrfs_free_space_cachep, info); in insert_into_bitmap()
2172 struct btrfs_free_space *info, bool update_stat) in try_merge_free_space() argument
2177 u64 offset = info->offset; in try_merge_free_space()
2178 u64 bytes = info->bytes; in try_merge_free_space()
2197 info->bytes += right_info->bytes; in try_merge_free_space()
2208 info->offset = left_info->offset; in try_merge_free_space()
2209 info->bytes += left_info->bytes; in try_merge_free_space()
2218 struct btrfs_free_space *info, in steal_from_bitmap_to_end() argument
2224 const u64 end = info->offset + info->bytes; in steal_from_bitmap_to_end()
2237 info->bytes += bytes; in steal_from_bitmap_to_end()
2251 struct btrfs_free_space *info, in steal_from_bitmap_to_front() argument
2261 bitmap_offset = offset_to_bitmap(ctl, info->offset); in steal_from_bitmap_to_front()
2263 if (bitmap_offset == info->offset) { in steal_from_bitmap_to_front()
2264 if (info->offset == 0) in steal_from_bitmap_to_front()
2266 bitmap_offset = offset_to_bitmap(ctl, info->offset - 1); in steal_from_bitmap_to_front()
2273 i = offset_to_bit(bitmap->offset, ctl->unit, info->offset) - 1; in steal_from_bitmap_to_front()
2289 info->offset -= bytes; in steal_from_bitmap_to_front()
2290 info->bytes += bytes; in steal_from_bitmap_to_front()
2293 bitmap_clear_bits(ctl, bitmap, info->offset, bytes); in steal_from_bitmap_to_front()
2295 __bitmap_clear_bits(ctl, bitmap, info->offset, bytes); in steal_from_bitmap_to_front()
2315 struct btrfs_free_space *info, in steal_from_bitmap() argument
2322 ASSERT(!info->bitmap); in steal_from_bitmap()
2323 ASSERT(RB_EMPTY_NODE(&info->offset_index)); in steal_from_bitmap()
2329 stole_end = steal_from_bitmap_to_end(ctl, info, update_stat); in steal_from_bitmap()
2331 stole_front = steal_from_bitmap_to_front(ctl, info, in steal_from_bitmap()
2335 try_merge_free_space(ctl, info, update_stat); in steal_from_bitmap()
2343 struct btrfs_free_space *info; in __btrfs_add_free_space() local
2346 info = kmem_cache_zalloc(btrfs_free_space_cachep, GFP_NOFS); in __btrfs_add_free_space()
2347 if (!info) in __btrfs_add_free_space()
2350 info->offset = offset; in __btrfs_add_free_space()
2351 info->bytes = bytes; in __btrfs_add_free_space()
2352 RB_CLEAR_NODE(&info->offset_index); in __btrfs_add_free_space()
2356 if (try_merge_free_space(ctl, info, true)) in __btrfs_add_free_space()
2364 ret = insert_into_bitmap(ctl, info); in __btrfs_add_free_space()
2378 steal_from_bitmap(ctl, info, true); in __btrfs_add_free_space()
2380 ret = link_free_space(ctl, info); in __btrfs_add_free_space()
2382 kmem_cache_free(btrfs_free_space_cachep, info); in __btrfs_add_free_space()
2406 struct btrfs_free_space *info; in btrfs_remove_free_space() local
2417 info = tree_search_offset(ctl, offset, 0, 0); in btrfs_remove_free_space()
2418 if (!info) { in btrfs_remove_free_space()
2423 info = tree_search_offset(ctl, offset_to_bitmap(ctl, offset), in btrfs_remove_free_space()
2425 if (!info) { in btrfs_remove_free_space()
2437 if (!info->bitmap) { in btrfs_remove_free_space()
2438 unlink_free_space(ctl, info); in btrfs_remove_free_space()
2439 if (offset == info->offset) { in btrfs_remove_free_space()
2440 u64 to_free = min(bytes, info->bytes); in btrfs_remove_free_space()
2442 info->bytes -= to_free; in btrfs_remove_free_space()
2443 info->offset += to_free; in btrfs_remove_free_space()
2444 if (info->bytes) { in btrfs_remove_free_space()
2445 ret = link_free_space(ctl, info); in btrfs_remove_free_space()
2448 kmem_cache_free(btrfs_free_space_cachep, info); in btrfs_remove_free_space()
2455 u64 old_end = info->bytes + info->offset; in btrfs_remove_free_space()
2457 info->bytes = offset - info->offset; in btrfs_remove_free_space()
2458 ret = link_free_space(ctl, info); in btrfs_remove_free_space()
2481 ret = remove_from_bitmap(ctl, info, &offset, &bytes); in btrfs_remove_free_space()
2497 struct btrfs_free_space *info; in btrfs_dump_free_space() local
2503 info = rb_entry(n, struct btrfs_free_space, offset_index); in btrfs_dump_free_space()
2504 if (info->bytes >= bytes && !block_group->ro) in btrfs_dump_free_space()
2507 info->offset, info->bytes, in btrfs_dump_free_space()
2508 (info->bitmap) ? "yes" : "no"); in btrfs_dump_free_space()
2589 struct btrfs_free_space *info; in __btrfs_remove_free_space_cache_locked() local
2593 info = rb_entry(node, struct btrfs_free_space, offset_index); in __btrfs_remove_free_space_cache_locked()
2594 if (!info->bitmap) { in __btrfs_remove_free_space_cache_locked()
2595 unlink_free_space(ctl, info); in __btrfs_remove_free_space_cache_locked()
2596 kmem_cache_free(btrfs_free_space_cachep, info); in __btrfs_remove_free_space_cache_locked()
2598 free_bitmap(ctl, info); in __btrfs_remove_free_space_cache_locked()
3608 struct btrfs_free_space *info = NULL, *bitmap_info; in test_add_free_space_entry() local
3614 if (!info) { in test_add_free_space_entry()
3615 info = kmem_cache_zalloc(btrfs_free_space_cachep, GFP_NOFS); in test_add_free_space_entry()
3616 if (!info) in test_add_free_space_entry()
3622 info->offset = offset; in test_add_free_space_entry()
3623 info->bytes = bytes; in test_add_free_space_entry()
3624 info->max_extent_size = 0; in test_add_free_space_entry()
3625 ret = link_free_space(ctl, info); in test_add_free_space_entry()
3628 kmem_cache_free(btrfs_free_space_cachep, info); in test_add_free_space_entry()
3635 kmem_cache_free(btrfs_free_space_cachep, info); in test_add_free_space_entry()
3644 info->bitmap = map; in test_add_free_space_entry()
3646 add_new_bitmap(ctl, info, offset); in test_add_free_space_entry()
3647 bitmap_info = info; in test_add_free_space_entry()
3648 info = NULL; in test_add_free_space_entry()
3660 if (info) in test_add_free_space_entry()
3661 kmem_cache_free(btrfs_free_space_cachep, info); in test_add_free_space_entry()
3676 struct btrfs_free_space *info; in test_check_exists() local
3680 info = tree_search_offset(ctl, offset, 0, 0); in test_check_exists()
3681 if (!info) { in test_check_exists()
3682 info = tree_search_offset(ctl, offset_to_bitmap(ctl, offset), in test_check_exists()
3684 if (!info) in test_check_exists()
3689 if (info->bitmap) { in test_check_exists()
3696 ret = search_bitmap(ctl, info, &bit_off, &bit_bytes, false); in test_check_exists()
3708 n = rb_prev(&info->offset_index); in test_check_exists()
3718 info = tmp; in test_check_exists()
3722 n = rb_next(&info->offset_index); in test_check_exists()
3732 info = tmp; in test_check_exists()
3740 if (info->offset == offset) { in test_check_exists()
3745 if (offset > info->offset && offset < info->offset + info->bytes) in test_check_exists()