/openbmc/linux/fs/btrfs/ |
H A D | space-info.c | 181 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 D | block-rsv.c | 110 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 D | space-info.h | 168 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 D | block-group.c | 381 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 D | sysfs.c | 727 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 D | sysfs.h | 31 struct btrfs_space_info *space_info); 32 void btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info);
|
H A D | extent-tree.c | 2558 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 D | zoned.h | 85 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 D | block-rsv.h | 27 struct btrfs_space_info *space_info; member
|
H A D | block-group.h | 153 struct btrfs_space_info *space_info; member
|
H A D | zoned.c | 2443 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 D | free-space-cache.c | 2694 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 D | delayed-ref.c | 141 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 D | root-tree.c | 522 rsv->space_info = btrfs_find_space_info(fs_info, in btrfs_subvolume_reserve_metadata()
|
H A D | fs.h | 589 struct list_head space_info; member
|
H A D | disk-io.c | 2706 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 D | super.c | 2051 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 D | transaction.c | 643 if (rsv->space_info->force_alloc) in start_transaction() 731 u64 flags = h->block_rsv->space_info->flags; in start_transaction()
|
H A D | volumes.c | 5157 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 D | tree-log.c | 2575 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 D | ioctl.c | 3045 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()
|