Home
last modified time | relevance | path

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

/openbmc/linux/fs/btrfs/
H A Dspace-info.c181 struct list_head *head = &info->space_info; in btrfs_clear_space_info_full()
219 void btrfs_update_space_info_chunk_size(struct btrfs_space_info *space_info, in btrfs_update_space_info_chunk_size() argument
222 WRITE_ONCE(space_info->chunk_size, chunk_size); in btrfs_update_space_info_chunk_size()
228 struct btrfs_space_info *space_info; in create_space_info() local
232 space_info = kzalloc(sizeof(*space_info), GFP_NOFS); in create_space_info()
233 if (!space_info) in create_space_info()
237 INIT_LIST_HEAD(&space_info->block_groups[i]); in create_space_info()
238 init_rwsem(&space_info->groups_sem); in create_space_info()
239 spin_lock_init(&space_info->lock); in create_space_info()
240 space_info->flags = flags & BTRFS_BLOCK_GROUP_TYPE_MASK; in create_space_info()
[all …]
H A Dblock-rsv.c110 struct btrfs_space_info *space_info = block_rsv->space_info; in block_rsv_release_bytes() local
155 space_info, in block_rsv_release_bytes()
189 rsv->space_info = btrfs_find_space_info(fs_info, in btrfs_init_metadata_block_rsv()
290 if (target && block_rsv->space_info != target->space_info) in btrfs_block_rsv_release()
327 struct btrfs_space_info *sinfo = block_rsv->space_info; in btrfs_update_global_block_rsv()
426 struct btrfs_space_info *space_info; in btrfs_init_global_block_rsv() local
428 space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_SYSTEM); in btrfs_init_global_block_rsv()
429 fs_info->chunk_block_rsv.space_info = space_info; in btrfs_init_global_block_rsv()
431 space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_METADATA); in btrfs_init_global_block_rsv()
432 fs_info->global_block_rsv.space_info = space_info; in btrfs_init_global_block_rsv()
[all …]
H A Dspace-info.h168 static inline bool btrfs_mixed_space_info(struct btrfs_space_info *space_info) in btrfs_mixed_space_info() argument
170 return ((space_info->flags & BTRFS_BLOCK_GROUP_METADATA) && in btrfs_mixed_space_info()
171 (space_info->flags & BTRFS_BLOCK_GROUP_DATA)); in btrfs_mixed_space_info()
205 void btrfs_update_space_info_chunk_size(struct btrfs_space_info *space_info,
220 struct btrfs_space_info *space_info);
222 struct btrfs_space_info *space_info, u64 bytes,
227 struct btrfs_space_info *space_info, in btrfs_space_info_free_bytes_may_use() argument
230 spin_lock(&space_info->lock); in btrfs_space_info_free_bytes_may_use()
231 btrfs_space_info_update_bytes_may_use(fs_info, space_info, -num_bytes); in btrfs_space_info_free_bytes_may_use()
232 btrfs_try_granting_tickets(fs_info, space_info); in btrfs_space_info_free_bytes_may_use()
[all …]
H A Dblock-group.c381 struct btrfs_space_info *space_info = bg->space_info; in btrfs_wait_block_group_reservations() local
398 down_write(&space_info->groups_sem); in btrfs_wait_block_group_reservations()
399 up_write(&space_info->groups_sem); in btrfs_wait_block_group_reservations()
898 spin_lock(&block_group->space_info->lock); in caching_thread()
901 block_group->space_info->bytes_used += bytes_used >> 1; in caching_thread()
903 spin_unlock(&block_group->space_info->lock); in caching_thread()
1003 struct list_head *head = &fs_info->space_info; in clear_incompat_bg_bits()
1150 down_write(&block_group->space_info->groups_sem); in btrfs_remove_block_group()
1156 if (list_empty(&block_group->space_info->block_groups[index])) { in btrfs_remove_block_group()
1157 kobj = block_group->space_info->block_group_kobjs[index]; in btrfs_remove_block_group()
[all …]
H A Dsysfs.c727 BTRFS_ATTR(space_info, field, btrfs_space_info_show_##field)
748 struct btrfs_space_info *space_info = to_space_info(kobj); in btrfs_chunk_size_store() local
763 if (space_info->flags & BTRFS_BLOCK_GROUP_SYSTEM) in btrfs_chunk_size_store()
784 btrfs_update_space_info_chunk_size(space_info, val); in btrfs_chunk_size_store()
836 struct btrfs_space_info *space_info = to_space_info(kobj); in btrfs_force_chunk_alloc_store() local
862 ret = btrfs_force_chunk_alloc(trans, space_info->flags); in btrfs_force_chunk_alloc_store()
870 BTRFS_ATTR_W(space_info, force_chunk_alloc, btrfs_force_chunk_alloc_store);
884 BTRFS_ATTR_RW(space_info, chunk_size, btrfs_chunk_size_show, btrfs_chunk_size_store);
885 BTRFS_ATTR(space_info, size_classes, btrfs_size_classes_show);
891 struct btrfs_space_info *space_info = to_space_info(kobj); in btrfs_sinfo_bg_reclaim_threshold_show() local
[all …]
H A Dsysfs.h31 struct btrfs_space_info *space_info);
32 void btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info);
H A Dextent-tree.c2558 spin_lock(&cache->space_info->lock); in pin_down_extent()
2561 btrfs_space_info_update_bytes_pinned(fs_info, cache->space_info, in pin_down_extent()
2565 cache->space_info->bytes_reserved -= num_bytes; in pin_down_extent()
2568 spin_unlock(&cache->space_info->lock); in pin_down_extent()
2683 struct btrfs_space_info *space_info, u64 *empty_cluster) in fetch_cluster_info() argument
2688 if (btrfs_mixed_space_info(space_info)) in fetch_cluster_info()
2691 if (space_info->flags & BTRFS_BLOCK_GROUP_METADATA) { in fetch_cluster_info()
2697 } else if ((space_info->flags & BTRFS_BLOCK_GROUP_DATA) && in fetch_cluster_info()
2711 struct btrfs_space_info *space_info; in unpin_extent_range() local
2730 cache->space_info, in unpin_extent_range()
[all …]
H A Dzoned.h85 struct btrfs_space_info *space_info, bool do_finish);
254 struct btrfs_space_info *space_info, in btrfs_zoned_activate_one_bg() argument
H A Dblock-rsv.h27 struct btrfs_space_info *space_info; member
H A Dblock-group.h153 struct btrfs_space_info *space_info; member
H A Dzoned.c2443 struct btrfs_space_info *space_info, in btrfs_zoned_activate_one_bg() argument
2449 if (!btrfs_is_zoned(fs_info) || (space_info->flags & BTRFS_BLOCK_GROUP_DATA)) in btrfs_zoned_activate_one_bg()
2456 down_read(&space_info->groups_sem); in btrfs_zoned_activate_one_bg()
2458 list_for_each_entry(bg, &space_info->block_groups[index], in btrfs_zoned_activate_one_bg()
2471 up_read(&space_info->groups_sem); in btrfs_zoned_activate_one_bg()
2478 up_read(&space_info->groups_sem); in btrfs_zoned_activate_one_bg()
H A Dfree-space-cache.c2694 struct btrfs_space_info *sinfo = block_group->space_info; in __btrfs_add_free_space_zoned()
3654 struct btrfs_space_info *space_info = block_group->space_info; in do_trimming() local
3664 spin_lock(&space_info->lock); in do_trimming()
3668 space_info->bytes_reserved += reserved_bytes; in do_trimming()
3672 spin_unlock(&space_info->lock); in do_trimming()
3693 spin_lock(&space_info->lock); in do_trimming()
3696 space_info->bytes_readonly += reserved_bytes; in do_trimming()
3698 space_info->bytes_reserved -= reserved_bytes; in do_trimming()
3700 spin_unlock(&space_info->lock); in do_trimming()
H A Ddelayed-ref.c141 delayed_refs_rsv->space_info, to_free); in btrfs_migrate_to_delayed_refs_rsv()
202 btrfs_space_info_free_bytes_may_use(fs_info, block_rsv->space_info, in btrfs_delayed_refs_rsv_refill()
H A Droot-tree.c522 rsv->space_info = btrfs_find_space_info(fs_info, in btrfs_subvolume_reserve_metadata()
H A Dfs.h589 struct list_head space_info; member
H A Ddisk-io.c2706 INIT_LIST_HEAD(&fs_info->space_info); in btrfs_init_fs_info()
4658 spin_lock(&cache->space_info->lock); in btrfs_destroy_delayed_refs()
4662 cache->space_info, head->num_bytes); in btrfs_destroy_delayed_refs()
4664 cache->space_info->bytes_reserved -= head->num_bytes; in btrfs_destroy_delayed_refs()
4666 spin_unlock(&cache->space_info->lock); in btrfs_destroy_delayed_refs()
H A Dsuper.c2051 list_for_each_entry(found, &fs_info->space_info, list) { in btrfs_statfs()
2122 if (!mixed && block_rsv->space_info->full && in btrfs_statfs()
H A Dtransaction.c643 if (rsv->space_info->force_alloc) in start_transaction()
731 u64 flags = h->block_rsv->space_info->flags; in start_transaction()
H A Dvolumes.c5157 struct btrfs_space_info *space_info; in init_alloc_chunk_ctl_policy_regular() local
5159 space_info = btrfs_find_space_info(fs_devices->fs_info, ctl->type); in init_alloc_chunk_ctl_policy_regular()
5160 ASSERT(space_info); in init_alloc_chunk_ctl_policy_regular()
5162 ctl->max_chunk_size = READ_ONCE(space_info->chunk_size); in init_alloc_chunk_ctl_policy_regular()
H A Dtree-log.c2575 spin_lock(&cache->space_info->lock); in unaccount_log_buffer()
2578 cache->space_info->bytes_reserved -= fs_info->nodesize; in unaccount_log_buffer()
2580 spin_unlock(&cache->space_info->lock); in unaccount_log_buffer()
H A Dioctl.c3045 list_for_each_entry(tmp, &fs_info->space_info, list) { in btrfs_ioctl_space_info()
3098 list_for_each_entry(tmp, &fs_info->space_info, list) { in btrfs_ioctl_space_info()