| /linux-6.15/fs/btrfs/ |
| H A D | space-info.c | 244 space_info = kzalloc(sizeof(*space_info), GFP_NOFS); in create_space_info() 245 if (!space_info) in create_space_info() 268 list_add(&space_info->list, &info->space_info); in create_space_info() 895 if ((space_info->bytes_used + space_info->bytes_reserved + in need_preemptive_reclaim() 899 used = space_info->bytes_may_use + space_info->bytes_pinned; in need_preemptive_reclaim() 951 used = space_info->bytes_used + space_info->bytes_reserved + in need_preemptive_reclaim() 1004 if (global_rsv->space_info != space_info) in steal_from_global_rsv() 1271 space_info->clamp = max(1, space_info->clamp - 1); in btrfs_preempt_reclaim_metadata_space() 1630 space_info->clamp = min(space_info->clamp + 1, 8); in maybe_clamp_preempt() 1866 list_for_each_entry(space_info, &fs_info->space_info, list) { in btrfs_dump_space_info_for_trans_abort() [all …]
|
| H A D | space-info.h | 227 return ((space_info->flags & BTRFS_BLOCK_GROUP_METADATA) && in btrfs_mixed_space_info() 228 (space_info->flags & BTRFS_BLOCK_GROUP_DATA)); in btrfs_mixed_space_info() 273 struct btrfs_space_info *space_info, 277 struct btrfs_space_info *space_info); 279 const struct btrfs_space_info *space_info, u64 bytes, 283 struct btrfs_space_info *space_info, in btrfs_space_info_free_bytes_may_use() argument 286 spin_lock(&space_info->lock); in btrfs_space_info_free_bytes_may_use() 287 btrfs_space_info_update_bytes_may_use(space_info, -num_bytes); in btrfs_space_info_free_bytes_may_use() 288 btrfs_try_granting_tickets(space_info->fs_info, space_info); in btrfs_space_info_free_bytes_may_use() 289 spin_unlock(&space_info->lock); in btrfs_space_info_free_bytes_may_use() [all …]
|
| H A D | block-rsv.c | 109 struct btrfs_space_info *space_info = block_rsv->space_info; in block_rsv_release_bytes() local 186 rsv->space_info = btrfs_find_space_info(fs_info, in btrfs_init_metadata_block_rsv() 289 if (target && block_rsv->space_info != target->space_info) in btrfs_block_rsv_release() 429 struct btrfs_space_info *space_info; in btrfs_init_global_block_rsv() local 432 fs_info->chunk_block_rsv.space_info = space_info; in btrfs_init_global_block_rsv() 435 fs_info->global_block_rsv.space_info = space_info; in btrfs_init_global_block_rsv() 436 fs_info->trans_block_rsv.space_info = space_info; in btrfs_init_global_block_rsv() 437 fs_info->empty_block_rsv.space_info = space_info; in btrfs_init_global_block_rsv() 438 fs_info->delayed_block_rsv.space_info = space_info; in btrfs_init_global_block_rsv() 439 fs_info->delayed_refs_rsv.space_info = space_info; in btrfs_init_global_block_rsv() [all …]
|
| H A D | block-group.c | 379 struct btrfs_space_info *space_info = bg->space_info; in btrfs_wait_block_group_reservations() local 1520 space_info = block_group->space_info; in btrfs_delete_unused_bgs() 1859 space_info = bg->space_info; in btrfs_reclaim_bgs_work() 2588 list_for_each_entry(space_info, &info->space_info, list) { in btrfs_read_block_groups() 3694 space_info = cache->space_info; in btrfs_update_block_group() 3791 struct btrfs_space_info *space_info = cache->space_info; in btrfs_add_reserved_bytes() local 3843 struct btrfs_space_info *space_info = cache->space_info; in btrfs_free_reserved_bytes() local 4152 ASSERT(space_info); in btrfs_chunk_alloc() 4159 if (space_info->full) { in btrfs_chunk_alloc() 4233 space_info->full = 1; in btrfs_chunk_alloc() [all …]
|
| H A D | sysfs.c | 913 spin_lock(&space_info->lock); in btrfs_sinfo_bg_reclaim_threshold_show() 915 spin_unlock(&space_info->lock); in btrfs_sinfo_bg_reclaim_threshold_show() 1041 ATTRIBUTE_GROUPS(space_info); 1852 struct btrfs_space_info *space_info = cache->space_info; in btrfs_sysfs_add_block_group_type() local 1887 spin_lock(&space_info->lock); in btrfs_sysfs_add_block_group_type() 1889 spin_unlock(&space_info->lock); in btrfs_sysfs_add_block_group_type() 1895 spin_unlock(&space_info->lock); in btrfs_sysfs_add_block_group_type() 1901 spin_lock(&space_info->lock); in btrfs_sysfs_add_block_group_type() 1903 spin_unlock(&space_info->lock); in btrfs_sysfs_add_block_group_type() 1929 kobject_del(&space_info->kobj); in btrfs_sysfs_remove_space_info() [all …]
|
| H A D | sysfs.h | 41 struct btrfs_space_info *space_info); 42 void btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info);
|
| H A D | extent-tree.c | 2763 cache->space_info, in unpin_extent_range() 2776 space_info = cache->space_info; in unpin_extent_range() 2791 spin_lock(&space_info->lock); in unpin_extent_range() 3812 struct btrfs_space_info *space_info = block_group->space_info; in do_allocation_zoned() local 3873 spin_lock(&space_info->lock); in do_allocation_zoned() 4236 spin_lock(&space_info->lock); in prepare_allocation_clustered() 4315 space_info, ins); in prepare_allocation() 4388 if (!space_info) { in find_free_extent() 4592 spin_lock(&space_info->lock); in find_free_extent() 4971 space_info = block_group->space_info; in btrfs_alloc_logged_file_extent() [all …]
|
| H A D | zoned.h | 97 struct btrfs_space_info *space_info, bool do_finish); 99 int btrfs_reset_unused_block_groups(struct btrfs_space_info *space_info, u64 num_bytes); 260 struct btrfs_space_info *space_info, in btrfs_zoned_activate_one_bg() argument 269 static inline int btrfs_reset_unused_block_groups(struct btrfs_space_info *space_info, in btrfs_reset_unused_block_groups() argument
|
| H A D | delayed-ref.c | 214 struct btrfs_space_info *space_info = block_rsv->space_info; in btrfs_delayed_refs_rsv_refill() local 231 ret = btrfs_reserve_metadata_bytes(fs_info, space_info, num_bytes, flush); in btrfs_delayed_refs_rsv_refill() 260 btrfs_space_info_free_bytes_may_use(space_info, to_free); in btrfs_delayed_refs_rsv_refill() 1302 spin_lock(&bg->space_info->lock); in btrfs_destroy_delayed_refs() 1305 btrfs_space_info_update_bytes_pinned(bg->space_info, in btrfs_destroy_delayed_refs() 1308 bg->space_info->bytes_reserved -= head->num_bytes; in btrfs_destroy_delayed_refs() 1310 spin_unlock(&bg->space_info->lock); in btrfs_destroy_delayed_refs()
|
| H A D | zoned.c | 2576 struct btrfs_space_info *space_info, in btrfs_zoned_activate_one_bg() argument 2589 down_read(&space_info->groups_sem); in btrfs_zoned_activate_one_bg() 2591 list_for_each_entry(bg, &space_info->block_groups[index], in btrfs_zoned_activate_one_bg() 2604 up_read(&space_info->groups_sem); in btrfs_zoned_activate_one_bg() 2611 up_read(&space_info->groups_sem); in btrfs_zoned_activate_one_bg() 2695 struct btrfs_fs_info *fs_info = space_info->fs_info; in btrfs_reset_unused_block_groups() 2771 spin_lock(&space_info->lock); in btrfs_reset_unused_block_groups() 2776 spin_unlock(&space_info->lock); in btrfs_reset_unused_block_groups() 2789 space_info->bytes_zone_unusable -= reclaimed; in btrfs_reset_unused_block_groups() 2791 btrfs_return_free_space(space_info, reclaimed); in btrfs_reset_unused_block_groups() [all …]
|
| H A D | block-rsv.h | 34 struct btrfs_space_info *space_info; member
|
| H A D | block-group.h | 168 struct btrfs_space_info *space_info; member
|
| H A D | free-space-cache.c | 2698 struct btrfs_space_info *sinfo = block_group->space_info; in __btrfs_add_free_space_zoned() 3657 struct btrfs_space_info *space_info = block_group->space_info; in do_trimming() local 3667 spin_lock(&space_info->lock); in do_trimming() 3671 space_info->bytes_reserved += reserved_bytes; in do_trimming() 3675 spin_unlock(&space_info->lock); in do_trimming() 3696 spin_lock(&space_info->lock); in do_trimming() 3699 space_info->bytes_readonly += reserved_bytes; in do_trimming() 3701 space_info->bytes_reserved -= reserved_bytes; in do_trimming() 3703 spin_unlock(&space_info->lock); in do_trimming()
|
| H A D | delalloc-space.c | 351 ret = btrfs_reserve_metadata_bytes(fs_info, block_rsv->space_info, in btrfs_delalloc_reserve_metadata()
|
| H A D | transaction.c | 570 struct btrfs_space_info *si = fs_info->trans_block_rsv.space_info; in btrfs_reserve_trans_metadata() 666 if (trans_rsv->space_info->force_alloc) in start_transaction() 764 u64 flags = h->block_rsv->space_info->flags; in start_transaction() 806 btrfs_space_info_free_bytes_may_use(trans_rsv->space_info, delayed_refs_bytes); in start_transaction()
|
| H A D | root-tree.c | 530 rsv->space_info = btrfs_find_space_info(fs_info, in btrfs_subvolume_reserve_metadata()
|
| H A D | fs.h | 672 struct list_head space_info; member
|
| H A D | super.c | 1733 list_for_each_entry(found, &fs_info->space_info, list) { in btrfs_statfs() 1804 if (!mixed && block_rsv->space_info->full && in btrfs_statfs()
|
| H A D | volumes.c | 5136 struct btrfs_space_info *space_info; in init_alloc_chunk_ctl_policy_regular() local 5138 space_info = btrfs_find_space_info(fs_devices->fs_info, ctl->type); in init_alloc_chunk_ctl_policy_regular() 5139 ASSERT(space_info); in init_alloc_chunk_ctl_policy_regular() 5141 ctl->max_chunk_size = READ_ONCE(space_info->chunk_size); in init_alloc_chunk_ctl_policy_regular()
|
| H A D | tree-log.c | 2555 spin_lock(&cache->space_info->lock); in unaccount_log_buffer() 2558 cache->space_info->bytes_reserved -= fs_info->nodesize; in unaccount_log_buffer() 2560 spin_unlock(&cache->space_info->lock); in unaccount_log_buffer()
|
| H A D | ioctl.c | 2984 list_for_each_entry(tmp, &fs_info->space_info, list) { in btrfs_ioctl_space_info() 3037 list_for_each_entry(tmp, &fs_info->space_info, list) { in btrfs_ioctl_space_info()
|
| H A D | disk-io.c | 2816 INIT_LIST_HEAD(&fs_info->space_info); in btrfs_init_fs_info()
|