Home
last modified time | relevance | path

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

/linux/fs/btrfs/
H A Dspace-info.c191 struct list_head *head = &info->space_info; in btrfs_clear_space_info_full()
231 void btrfs_update_space_info_chunk_size(struct btrfs_space_info *space_info, in btrfs_update_space_info_chunk_size() argument
234 WRITE_ONCE(space_info->chunk_size, chunk_size); in btrfs_update_space_info_chunk_size()
238 struct btrfs_space_info *space_info, u64 flags) in init_space_info() argument
240 space_info->fs_info = info; in init_space_info()
242 INIT_LIST_HEAD(&space_info->block_groups[i]); in init_space_info()
243 init_rwsem(&space_info->groups_sem); in init_space_info()
244 spin_lock_init(&space_info->lock); in init_space_info()
245 space_info->flags = flags & BTRFS_BLOCK_GROUP_TYPE_MASK; in init_space_info()
246 space_info->force_alloc = CHUNK_ALLOC_NO_FORCE; in init_space_info()
[all …]
H A Dblock-rsv.c109 struct btrfs_space_info *space_info = block_rsv->space_info; in block_rsv_release_bytes() local
153 btrfs_space_info_free_bytes_may_use(space_info, num_bytes); in block_rsv_release_bytes()
186 rsv->space_info = btrfs_find_space_info(fs_info, in btrfs_init_metadata_block_rsv()
221 ret = btrfs_reserve_metadata_bytes(block_rsv->space_info, num_bytes, flush); in btrfs_block_rsv_add()
261 ret = btrfs_reserve_metadata_bytes(block_rsv->space_info, num_bytes, flush); in btrfs_block_rsv_refill()
288 if (target && block_rsv->space_info != target->space_info) in btrfs_block_rsv_release()
325 struct btrfs_space_info *sinfo = block_rsv->space_info; in btrfs_update_global_block_rsv()
434 struct btrfs_space_info *space_info; in btrfs_init_global_block_rsv() local
436 space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_SYSTEM); in btrfs_init_global_block_rsv()
437 fs_info->chunk_block_rsv.space_info = space_info; in btrfs_init_global_block_rsv()
[all …]
H A Dblock-group.c392 struct btrfs_space_info *space_info = bg->space_info; in btrfs_wait_block_group_reservations() local
409 down_write(&space_info->groups_sem); in btrfs_wait_block_group_reservations()
410 up_write(&space_info->groups_sem); in btrfs_wait_block_group_reservations()
913 spin_lock(&block_group->space_info->lock); in caching_thread()
916 block_group->space_info->bytes_used += bytes_used >> 1; in caching_thread()
918 spin_unlock(&block_group->space_info->lock); in caching_thread()
1025 struct list_head *head = &fs_info->space_info; in clear_incompat_bg_bits()
1081 spin_lock(&bg->space_info->lock); in btrfs_remove_bg_from_sinfo()
1083 WARN_ON(bg->space_info->total_bytes < bg->length); in btrfs_remove_bg_from_sinfo()
1084 WARN_ON(bg->space_info->bytes_readonly < bg->length - bg->zone_unusable); in btrfs_remove_bg_from_sinfo()
[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 Dextent-tree.c2626 struct btrfs_space_info *space_info = bg->space_info; in pin_down_extent() local
2629 spin_lock(&space_info->lock); in pin_down_extent()
2634 space_info->bytes_reserved -= reserved_bytes; in pin_down_extent()
2635 btrfs_space_info_update_bytes_pinned(space_info, num_bytes); in pin_down_extent()
2636 spin_unlock(&space_info->lock); in pin_down_extent()
2747 struct btrfs_space_info *space_info, u64 *empty_cluster) in fetch_cluster_info() argument
2752 if (btrfs_mixed_space_info(space_info)) in fetch_cluster_info()
2755 if (space_info->flags & BTRFS_BLOCK_GROUP_METADATA) { in fetch_cluster_info()
2761 } else if ((space_info->flags & BTRFS_BLOCK_GROUP_DATA) && in fetch_cluster_info()
2775 struct btrfs_space_info *space_info; in unpin_extent_range() local
[all …]
H A Dzoned.c2751 struct btrfs_space_info *space_info = data_sinfo; in btrfs_zoned_reserve_data_reloc_bg() local
2770 alloc_flags = btrfs_get_alloc_profile(fs_info, space_info->flags); in btrfs_zoned_reserve_data_reloc_bg()
2775 bg_list = &space_info->block_groups[index]; in btrfs_zoned_reserve_data_reloc_bg()
2785 if (space_info == data_sinfo) { in btrfs_zoned_reserve_data_reloc_bg()
2794 down_write(&space_info->groups_sem); in btrfs_zoned_reserve_data_reloc_bg()
2797 ASSERT(!list_empty(&space_info->block_groups[index])); in btrfs_zoned_reserve_data_reloc_bg()
2798 up_write(&space_info->groups_sem); in btrfs_zoned_reserve_data_reloc_bg()
2800 spin_lock(&space_info->lock); in btrfs_zoned_reserve_data_reloc_bg()
2801 space_info->total_bytes -= bg->length; in btrfs_zoned_reserve_data_reloc_bg()
2802 space_info->disk_total -= bg->length * factor; in btrfs_zoned_reserve_data_reloc_bg()
[all …]
H A Ddelayed-ref.c214 struct btrfs_space_info *space_info = block_rsv->space_info; in btrfs_delayed_refs_rsv_refill() local
231 ret = btrfs_reserve_metadata_bytes(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()
1321 spin_lock(&bg->space_info->lock); in btrfs_destroy_delayed_refs()
1324 btrfs_space_info_update_bytes_pinned(bg->space_info, in btrfs_destroy_delayed_refs()
1327 bg->space_info->bytes_reserved -= head->num_bytes; in btrfs_destroy_delayed_refs()
1329 spin_unlock(&bg->space_info->lock); in btrfs_destroy_delayed_refs()
H A Dtransaction.c573 struct btrfs_space_info *si = fs_info->trans_block_rsv.space_info; in btrfs_reserve_trans_metadata()
669 if (trans_rsv->space_info->force_alloc) in start_transaction()
767 struct btrfs_space_info *space_info = h->block_rsv->space_info; in start_transaction() local
768 u64 flags = space_info->flags; in start_transaction()
770 btrfs_chunk_alloc(h, space_info, btrfs_get_alloc_profile(fs_info, flags), in start_transaction()
810 btrfs_space_info_free_bytes_may_use(trans_rsv->space_info, delayed_refs_bytes); in start_transaction()
H A Dfree-space-cache.c2690 struct btrfs_space_info *sinfo = block_group->space_info; in __btrfs_add_free_space_zoned()
3658 struct btrfs_space_info *space_info = block_group->space_info; in do_trimming() local
3668 spin_lock(&space_info->lock); in do_trimming()
3674 space_info->bytes_reserved += reserved_bytes; in do_trimming()
3678 spin_unlock(&space_info->lock); in do_trimming()
3699 spin_lock(&space_info->lock); in do_trimming()
3705 space_info->bytes_reserved -= reserved_bytes; in do_trimming()
3707 space_info->bytes_readonly += reserved_bytes; in do_trimming()
3708 spin_unlock(&space_info->lock); in do_trimming()
H A Dvolumes.c3458 struct btrfs_space_info *space_info; in btrfs_remove_chunk() local
3460 space_info = btrfs_find_space_info(fs_info, sys_flags); in btrfs_remove_chunk()
3461 if (unlikely(!space_info)) { in btrfs_remove_chunk()
3467 sys_bg = btrfs_create_chunk(trans, space_info, sys_flags); in btrfs_remove_chunk()
5427 struct btrfs_space_info *space_info; member
5434 struct btrfs_space_info *space_info; in init_alloc_chunk_ctl_policy_regular() local
5436 space_info = btrfs_find_space_info(fs_devices->fs_info, ctl->type); in init_alloc_chunk_ctl_policy_regular()
5437 ASSERT(space_info); in init_alloc_chunk_ctl_policy_regular()
5439 ctl->max_chunk_size = READ_ONCE(space_info->chunk_size); in init_alloc_chunk_ctl_policy_regular()
5835 block_group = btrfs_make_block_group(trans, ctl->space_info, type, start, in create_chunk()
[all …]
H A Droot-tree.c511 rsv->space_info = btrfs_find_space_info(fs_info, in btrfs_subvolume_reserve_metadata()
H A Dvolumes.h723 struct btrfs_space_info *space_info,
H A Dfs.h742 struct list_head space_info; member
H A Dsuper.c1742 list_for_each_entry(found, &fs_info->space_info, list) { in btrfs_statfs()
1813 if (!mixed && block_rsv->space_info->full && in btrfs_statfs()
H A Dtree-log.c2976 spin_lock(&bg->space_info->lock); in clean_log_buffer()
2979 bg->space_info->bytes_reserved -= fs_info->nodesize; in clean_log_buffer()
2981 spin_unlock(&bg->space_info->lock); in clean_log_buffer()
H A Dioctl.c2853 list_for_each_entry(tmp, &fs_info->space_info, list) { in btrfs_ioctl_space_info()
2906 list_for_each_entry(tmp, &fs_info->space_info, list) { in btrfs_ioctl_space_info()
H A Drelocation.c4163 struct btrfs_space_info *sinfo = bg->space_info; in move_existing_remap()
4952 struct btrfs_space_info *sinfo = src_bg->space_info; in do_remap_reloc_trans()
H A Ddisk-io.c2801 INIT_LIST_HEAD(&fs_info->space_info); in btrfs_init_fs_info()