Home
last modified time | relevance | path

Searched refs:space_info (Results 1 – 14 of 14) sorted by relevance

/linux/fs/btrfs/
H A Dspace-info.c29 * 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 Dblock-group.c420 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 Dsysfs.c749 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 Dzoned.c2777 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 Dextent-tree.c2691 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 Dtransaction.c575 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 Dfree-space-cache.c2690 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 Dvolumes.c3501 * 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 Droot-tree.c511 rsv->space_info = btrfs_find_space_info(fs_info, in btrfs_subvolume_reserve_metadata()
H A Dfs.h748 * 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 Dtree-log.c2972 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 Dioctl.c2901 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 Drelocation.c4210 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 Ddisk-io.c2819 INIT_LIST_HEAD(&fs_info->space_info); in btrfs_init_fs_info()