| /linux/fs/btrfs/ |
| H A D | space-info.c | 29 * 1) space_info. This is the ultimate arbiter of how much space we can use. 32 * reservations we care about total_bytes - SUM(space_info->bytes_) when 33 * determining if there is space to make an allocation. There is a space_info 39 * much space is accounted for in space_info->bytes_may_use. 45 * values to adjust the space_info counters. 54 * space_info->bytes_may_use += num_bytes 58 * space_info->bytes_may_use -= num_bytes 59 * space_info->bytes_reserved += extent_bytes 63 * space_info->bytes_reserved -= extent_bytes 64 * space_info 242 btrfs_update_space_info_chunk_size(struct btrfs_space_info * space_info,u64 chunk_size) btrfs_update_space_info_chunk_size() argument 249 init_space_info(struct btrfs_fs_info * info,struct btrfs_space_info * space_info,u64 flags) init_space_info() argument 298 struct btrfs_space_info *space_info; create_space_info() local 385 struct btrfs_space_info *space_info = block_group->space_info; btrfs_add_bg_to_space_info() local 452 calc_available_free_space(const struct btrfs_space_info * space_info,enum btrfs_reserve_flush_enum flush) calc_available_free_space() argument 524 check_can_overcommit(const struct btrfs_space_info * space_info,u64 space_info_used_bytes,u64 bytes,enum btrfs_reserve_flush_enum flush) check_can_overcommit() argument 533 can_overcommit(const struct btrfs_space_info * space_info,u64 space_info_used_bytes,u64 bytes,enum btrfs_reserve_flush_enum flush) can_overcommit() argument 544 btrfs_can_overcommit(const struct btrfs_space_info * space_info,u64 bytes,enum btrfs_reserve_flush_enum flush) btrfs_can_overcommit() argument 558 remove_ticket(struct btrfs_space_info * space_info,struct reserve_ticket * ticket,int error) remove_ticket() argument 590 btrfs_try_granting_tickets(struct btrfs_space_info * space_info) btrfs_try_granting_tickets() argument 720 shrink_delalloc(struct btrfs_space_info * space_info,u64 to_reclaim,bool wait_ordered,bool for_preempt) shrink_delalloc() argument 851 flush_space(struct btrfs_space_info * space_info,u64 num_bytes,enum btrfs_flush_state state,bool for_preempt) flush_space() argument 962 btrfs_calc_reclaim_metadata_size(const struct btrfs_space_info * space_info) btrfs_calc_reclaim_metadata_size() argument 985 need_preemptive_reclaim(const struct btrfs_space_info * space_info) need_preemptive_reclaim() argument 1096 steal_from_global_rsv(struct btrfs_space_info * space_info,struct reserve_ticket * ticket) steal_from_global_rsv() argument 1143 maybe_fail_all_tickets(struct btrfs_space_info * space_info) maybe_fail_all_tickets() argument 1185 do_async_reclaim_metadata_space(struct btrfs_space_info * space_info) do_async_reclaim_metadata_space() argument 1274 struct btrfs_space_info *space_info; btrfs_async_reclaim_metadata_space() local 1296 struct btrfs_space_info *space_info; btrfs_preempt_reclaim_metadata_space() local 1432 do_async_reclaim_data_space(struct btrfs_space_info * space_info) do_async_reclaim_data_space() argument 1508 struct btrfs_space_info *space_info; btrfs_async_reclaim_data_space() local 1557 priority_reclaim_metadata_space(struct btrfs_space_info * space_info,struct reserve_ticket * ticket,const enum btrfs_flush_state * states,int states_nr) priority_reclaim_metadata_space() argument 1609 priority_reclaim_data_space(struct btrfs_space_info * space_info,struct reserve_ticket * ticket) priority_reclaim_data_space() argument 1630 wait_reserve_ticket(struct btrfs_space_info * space_info,struct reserve_ticket * ticket) wait_reserve_ticket() argument 1677 handle_reserve_ticket(struct btrfs_space_info * space_info,struct reserve_ticket * ticket,u64 start_ns,u64 orig_bytes,enum btrfs_reserve_flush_enum flush) handle_reserve_ticket() argument 1733 maybe_clamp_preempt(struct btrfs_space_info * space_info) maybe_clamp_preempt() argument 1781 reserve_bytes(struct btrfs_space_info * space_info,u64 orig_bytes,enum btrfs_reserve_flush_enum flush) reserve_bytes() argument 1927 btrfs_reserve_metadata_bytes(struct btrfs_space_info * space_info,u64 orig_bytes,enum btrfs_reserve_flush_enum flush) btrfs_reserve_metadata_bytes() argument 1956 btrfs_reserve_data_bytes(struct btrfs_space_info * space_info,u64 bytes,enum btrfs_reserve_flush_enum flush) btrfs_reserve_data_bytes() argument 1982 struct btrfs_space_info *space_info; btrfs_dump_space_info_for_trans_abort() local 2083 calc_dynamic_reclaim_threshold(const struct btrfs_space_info * space_info) calc_dynamic_reclaim_threshold() argument 2102 btrfs_calc_reclaim_threshold(const struct btrfs_space_info * space_info) btrfs_calc_reclaim_threshold() argument 2116 is_reclaim_urgent(struct btrfs_space_info * space_info) is_reclaim_urgent() argument 2125 do_reclaim_sweep(struct btrfs_space_info * space_info,int raid) do_reclaim_sweep() argument 2173 btrfs_space_info_update_reclaimable(struct btrfs_space_info * space_info,s64 bytes) btrfs_space_info_update_reclaimable() argument 2185 btrfs_set_periodic_reclaim_ready(struct btrfs_space_info * space_info,bool ready) btrfs_set_periodic_reclaim_ready() argument 2197 btrfs_should_periodic_reclaim(struct btrfs_space_info * space_info) btrfs_should_periodic_reclaim() argument 2216 struct btrfs_space_info *space_info; btrfs_reclaim_sweep() local 2231 btrfs_return_free_space(struct btrfs_space_info * space_info,u64 len) btrfs_return_free_space() argument [all...] |
| H A D | block-group.c | 420 struct btrfs_space_info *space_info = bg->space_info; in btrfs_get_caching_control() 437 down_write(&space_info->groups_sem); 438 up_write(&space_info->groups_sem); 946 spin_lock(&block_group->space_info->lock); in btrfs_cache_block_group() 949 block_group->space_info->bytes_used += bytes_used >> 1; in btrfs_cache_block_group() 951 spin_unlock(&block_group->space_info->lock); in btrfs_cache_block_group() 1058 struct list_head *head = &fs_info->space_info; 1119 spin_lock(&bg->space_info->lock); in btrfs_remove_block_group() 1121 WARN_ON(bg->space_info in btrfs_remove_block_group() 392 struct btrfs_space_info *space_info = bg->space_info; btrfs_wait_block_group_reservations() local 1557 struct btrfs_space_info *space_info; btrfs_delete_unused_bgs() local 1915 struct btrfs_space_info *space_info = bg->space_info; btrfs_reclaim_block_group() local 2048 struct btrfs_space_info *space_info; btrfs_reclaim_block_groups() local 2636 struct btrfs_space_info *space_info; btrfs_read_block_groups() local 3001 btrfs_make_block_group(struct btrfs_trans_handle * trans,struct btrfs_space_info * space_info,u64 type,u64 chunk_offset,u64 size) btrfs_make_block_group() argument 3101 struct btrfs_space_info *space_info = cache->space_info; btrfs_inc_block_group_ro() local 3843 struct btrfs_space_info *space_info; btrfs_update_block_group() local 3965 struct btrfs_space_info *space_info = cache->space_info; btrfs_add_reserved_bytes() local 4025 struct btrfs_space_info *space_info = cache->space_info; btrfs_free_reserved_bytes() local 4089 struct btrfs_space_info *space_info; btrfs_force_chunk_alloc() local 4101 do_chunk_alloc(struct btrfs_trans_handle * trans,struct btrfs_space_info * space_info,u64 flags) do_chunk_alloc() argument 4314 btrfs_chunk_alloc(struct btrfs_trans_handle * trans,struct btrfs_space_info * space_info,u64 flags,enum btrfs_chunk_alloc_enum force) btrfs_chunk_alloc() argument 4492 struct btrfs_space_info *space_info; reserve_chunk_space() local 4611 check_removing_space_info(struct btrfs_space_info * space_info) check_removing_space_info() argument 4656 struct btrfs_space_info *space_info; btrfs_free_block_groups() local [all...] |
| H A D | sysfs.c | 749 BTRFS_ATTR(space_info, field, btrfs_space_info_show_##field) 770 struct btrfs_space_info *space_info = to_space_info(kobj); in btrfs_chunk_size_store() local 785 if (space_info->flags & BTRFS_BLOCK_GROUP_SYSTEM) in btrfs_chunk_size_store() 806 btrfs_update_space_info_chunk_size(space_info, val); in btrfs_chunk_size_store() 858 struct btrfs_space_info *space_info = to_space_info(kobj); in btrfs_force_chunk_alloc_store() local 884 ret = btrfs_force_chunk_alloc(trans, space_info->flags); in btrfs_force_chunk_alloc_store() 892 BTRFS_ATTR_W(space_info, force_chunk_alloc, btrfs_force_chunk_alloc_store); 909 BTRFS_ATTR_RW(space_info, chunk_size, btrfs_chunk_size_show, btrfs_chunk_size_store); 910 BTRFS_ATTR(space_info, size_classes, btrfs_size_classes_show); 916 struct btrfs_space_info *space_info = to_space_info(kobj); in btrfs_sinfo_bg_reclaim_threshold_show() local [all …]
|
| H A D | zoned.c | 2777 struct btrfs_space_info *space_info = data_sinfo; in btrfs_zoned_reserve_data_reloc_bg() 2795 alloc_flags = btrfs_get_alloc_profile(fs_info, space_info->flags); in btrfs_zoned_reserve_data_reloc_bg() 2799 bg_list = &space_info->block_groups[index]; in btrfs_zoned_reserve_data_reloc_bg() 2805 if (space_info == data_sinfo) { in btrfs_zoned_reserve_data_reloc_bg() 2806 /* Migrate the block group to the data relocation space_info. */ in btrfs_zoned_reserve_data_reloc_bg() 2814 down_write(&space_info->groups_sem); in btrfs_zoned_reserve_data_reloc_bg() 2816 up_write(&space_info->groups_sem); in btrfs_zoned_reserve_data_reloc_bg() 2818 spin_lock(&space_info->lock); in btrfs_zoned_reserve_data_reloc_bg() 2819 space_info->total_bytes -= bg->length; in btrfs_zoned_reserve_data_reloc_bg() 2820 space_info in btrfs_zoned_reserve_data_reloc_bg() 2761 struct btrfs_space_info *space_info = data_sinfo; btrfs_zoned_reserve_data_reloc_bg() local 2974 btrfs_zoned_activate_one_bg(struct btrfs_space_info * space_info,bool do_finish) btrfs_zoned_activate_one_bg() argument 3091 btrfs_reset_unused_block_groups(struct btrfs_space_info * space_info,u64 num_bytes) btrfs_reset_unused_block_groups() argument [all...] |
| H A D | extent-tree.c | 2691 struct btrfs_space_info *space_info = bg->space_info; in pin_down_extent() 2694 spin_lock(&space_info->lock); in pin_down_extent() 2699 space_info->bytes_reserved -= reserved_bytes; in pin_down_extent() 2700 btrfs_space_info_update_bytes_pinned(space_info, num_bytes); in pin_down_extent() 2701 spin_unlock(&space_info->lock); in pin_down_extent() 2812 struct btrfs_space_info *space_info, u64 *empty_cluster) in fetch_cluster_info() 2817 if (btrfs_mixed_space_info(space_info)) in fetch_cluster_info() 2820 if (space_info->flags & BTRFS_BLOCK_GROUP_METADATA) { in fetch_cluster_info() 2826 } else if ((space_info in fetch_cluster_info() 2687 struct btrfs_space_info *space_info = bg->space_info; pin_down_extent() local 2808 fetch_cluster_info(struct btrfs_fs_info * fs_info,struct btrfs_space_info * space_info,u64 * empty_cluster) fetch_cluster_info() argument 2836 struct btrfs_space_info *space_info; unpin_extent_range() local 4329 find_free_extent_update_loop(struct btrfs_fs_info * fs_info,struct btrfs_key * ins,struct find_free_extent_ctl * ffe_ctl,struct btrfs_space_info * space_info,bool full_search) find_free_extent_update_loop() argument 4422 prepare_allocation_clustered(struct btrfs_fs_info * fs_info,struct find_free_extent_ctl * ffe_ctl,struct btrfs_space_info * space_info,struct btrfs_key * ins) prepare_allocation_clustered() argument 4473 prepare_allocation_zoned(struct btrfs_fs_info * fs_info,struct find_free_extent_ctl * ffe_ctl,struct btrfs_space_info * space_info) prepare_allocation_zoned() argument 4518 prepare_allocation(struct btrfs_fs_info * fs_info,struct find_free_extent_ctl * ffe_ctl,struct btrfs_space_info * space_info,struct btrfs_key * ins) prepare_allocation() argument 4565 struct btrfs_space_info *space_info; find_free_extent() local 5188 struct btrfs_space_info *space_info; btrfs_alloc_logged_file_extent() local [all...] |
| H A D | transaction.c | 575 struct btrfs_space_info *si = fs_info->trans_block_rsv.space_info; in btrfs_reserve_trans_metadata() 671 if (trans_rsv->space_info->force_alloc) in start_transaction() 773 * If the space_info is marked ALLOC_FORCE then we'll get upgraded to in start_transaction() 779 struct btrfs_space_info *space_info = h->block_rsv->space_info; in start_transaction() 780 u64 flags = space_info->flags; in start_transaction() 782 btrfs_chunk_alloc(h, space_info, btrfs_get_alloc_profile(fs_info, flags), in start_transaction() 822 btrfs_space_info_free_bytes_may_use(trans_rsv->space_info, delayed_refs_bytes); in start_transaction() 778 struct btrfs_space_info *space_info = h->block_rsv->space_info; start_transaction() local
|
| H A D | free-space-cache.c | 2690 struct btrfs_space_info *sinfo = block_group->space_info; in __btrfs_add_free_space_zoned() 3653 struct btrfs_space_info *space_info = block_group->space_info; in do_trimming() 3663 spin_lock(&space_info->lock); in do_trimming() 3669 space_info->bytes_reserved += reserved_bytes; in do_trimming() 3673 spin_unlock(&space_info->lock); in do_trimming() 3694 spin_lock(&space_info->lock); in do_trimming() 3700 space_info->bytes_reserved -= reserved_bytes; in do_trimming() 3702 space_info->bytes_readonly += reserved_bytes; in do_trimming() 3703 spin_unlock(&space_info in do_trimming() 3658 struct btrfs_space_info *space_info = block_group->space_info; do_trimming() local [all...] |
| H A D | volumes.c | 3501 * Despite our system space_info having enough free space, we may not in btrfs_remove_chunk() 3514 struct btrfs_space_info *space_info; in btrfs_remove_chunk() 3516 space_info = btrfs_find_space_info(fs_info, sys_flags); in btrfs_remove_chunk() 3517 if (unlikely(!space_info)) { in btrfs_remove_chunk() 3523 sys_bg = btrfs_create_chunk(trans, space_info, sys_flags); in btrfs_remove_chunk() 5685 struct btrfs_space_info *space_info; in init_alloc_chunk_ctl() 5692 struct btrfs_space_info *space_info; in init_alloc_chunk_ctl() 5694 space_info = btrfs_find_space_info(fs_devices->fs_info, ctl->type); in gather_device_info() 5695 ASSERT(space_info); in gather_device_info() 5697 ctl->max_chunk_size = READ_ONCE(space_info in gather_device_info() 3465 struct btrfs_space_info *space_info; btrfs_remove_chunk() local 5608 struct btrfs_space_info *space_info; global() member 5615 struct btrfs_space_info *space_info; init_alloc_chunk_ctl_policy_regular() local 6045 btrfs_create_chunk(struct btrfs_trans_handle * trans,struct btrfs_space_info * space_info,u64 type) btrfs_create_chunk() argument [all...] |
| H A D | root-tree.c | 511 rsv->space_info = btrfs_find_space_info(fs_info, in btrfs_subvolume_reserve_metadata()
|
| H A D | fs.h | 748 * The space_info list is effectively read only after initial setup. 752 struct list_head space_info; 744 struct list_head space_info; global() member
|
| H A D | tree-log.c | 2972 spin_lock(&bg->space_info->lock); in clean_log_buffer() 2975 bg->space_info->bytes_reserved -= fs_info->nodesize; in clean_log_buffer() 2977 spin_unlock(&bg->space_info->lock); in clean_log_buffer()
|
| H A D | ioctl.c | 2901 list_for_each_entry(tmp, &fs_info->space_info, list) { in btrfs_ioctl_space_info() 2920 * Global block reserve, exported as a space_info in btrfs_ioctl_space_info() 2954 list_for_each_entry(tmp, &fs_info->space_info, list) { in btrfs_ioctl_space_info()
|
| H A D | relocation.c | 4210 struct btrfs_space_info *sinfo = bg->space_info; in move_existing_remap() 5006 struct btrfs_space_info *sinfo = src_bg->space_info; in do_remap_reloc_trans()
|
| H A D | disk-io.c | 2819 INIT_LIST_HEAD(&fs_info->space_info); in btrfs_init_fs_info()
|