/linux-master/fs/btrfs/ |
H A D | block-group.c | 381 struct btrfs_space_info *space_info = bg->space_info; local 398 down_write(&space_info->groups_sem); 399 up_write(&space_info->groups_sem); 898 spin_lock(&block_group->space_info->lock); 901 block_group->space_info->bytes_used += bytes_used >> 1; 903 spin_unlock(&block_group->space_info->lock); 1003 struct list_head *head = &fs_info->space_info; 1152 down_write(&block_group->space_info->groups_sem); 1158 if (list_empty(&block_group->space_info 1462 struct btrfs_space_info *space_info; local 1760 const struct btrfs_space_info *space_info = bg->space_info; local 1787 struct btrfs_space_info *space_info; local 2459 struct btrfs_space_info *space_info; local 3601 struct btrfs_space_info *space_info; local 3717 struct btrfs_space_info *space_info = cache->space_info; local 3770 struct btrfs_space_info *space_info = cache->space_info; local 4037 struct btrfs_space_info *space_info; local 4338 struct btrfs_space_info *space_info; local [all...] |
H A D | block-group.h | 168 struct btrfs_space_info *space_info; member in struct:btrfs_block_group 225 * on the space_info's groups_sem semaphore.
|
H A D | block-rsv.c | 28 * accounted for in space_info->bytes_may_use, and then add the bytes to 51 * space_info->bytes_may_use. 92 * content to just reserve space from the space_info on demand. 109 struct btrfs_space_info *space_info = block_rsv->space_info; local 154 space_info, 188 rsv->space_info = btrfs_find_space_info(fs_info, 223 ret = btrfs_reserve_metadata_bytes(fs_info, block_rsv->space_info, 264 ret = btrfs_reserve_metadata_bytes(fs_info, block_rsv->space_info, 291 if (target && block_rsv->space_info ! 433 struct btrfs_space_info *space_info; local [all...] |
H A D | block-rsv.h | 34 struct btrfs_space_info *space_info; member in struct:btrfs_block_rsv
|
H A D | delalloc-space.c | 25 * space_info->bytes_may_use. We set EXTENT_DELALLOC on the inode io_tree 32 * will make the allocation and subtract space_info->bytes_may_use by the 33 * original requested length and increase the space_info->bytes_reserved by 41 * space_info->bytes_reserved and added to space_info->bytes_used. 49 * space_info->bytes_may_use. 54 * be subtracted from space_info->bytes_may_use. 351 ret = btrfs_reserve_metadata_bytes(fs_info, block_rsv->space_info,
|
H A D | delayed-ref.c | 237 delayed_refs_rsv->space_info, to_free); 253 struct btrfs_space_info *space_info = block_rsv->space_info; local 270 ret = btrfs_reserve_metadata_bytes(fs_info, space_info, num_bytes, flush); 299 btrfs_space_info_free_bytes_may_use(fs_info, space_info, to_free);
|
H A D | disk-io.c | 2745 INIT_LIST_HEAD(&fs_info->space_info); 4595 spin_lock(&cache->space_info->lock); 4599 cache->space_info, head->num_bytes); 4601 cache->space_info->bytes_reserved -= head->num_bytes; 4603 spin_unlock(&cache->space_info->lock);
|
H A D | extent-tree.c | 2630 spin_lock(&cache->space_info->lock); 2633 btrfs_space_info_update_bytes_pinned(fs_info, cache->space_info, 2637 cache->space_info->bytes_reserved -= num_bytes; 2640 spin_unlock(&cache->space_info->lock); 2752 struct btrfs_space_info *space_info, u64 *empty_cluster) 2757 if (btrfs_mixed_space_info(space_info)) 2760 if (space_info->flags & BTRFS_BLOCK_GROUP_METADATA) { 2766 } else if ((space_info->flags & BTRFS_BLOCK_GROUP_DATA) && 2780 struct btrfs_space_info *space_info; local 2804 cache->space_info, 2751 fetch_cluster_info(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, u64 *empty_cluster) argument 3863 struct btrfs_space_info *space_info = block_group->space_info; local 4271 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) argument 4358 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) argument 4407 struct btrfs_space_info *space_info; local 4999 struct btrfs_space_info *space_info; local [all...] |
H A D | free-space-cache.c | 2695 struct btrfs_space_info *sinfo = block_group->space_info; 3651 struct btrfs_space_info *space_info = block_group->space_info; local 3661 spin_lock(&space_info->lock); 3665 space_info->bytes_reserved += reserved_bytes; 3669 spin_unlock(&space_info->lock); 3690 spin_lock(&space_info->lock); 3693 space_info->bytes_readonly += reserved_bytes; 3695 space_info->bytes_reserved -= reserved_bytes; 3697 spin_unlock(&space_info [all...] |
H A D | fs.h | 639 * The space_info list is effectively read only after initial setup. 643 struct list_head space_info; member in struct:btrfs_fs_info
|
H A D | ioctl.c | 3073 list_for_each_entry(tmp, &fs_info->space_info, list) { 3092 * Global block reserve, exported as a space_info 3126 list_for_each_entry(tmp, &fs_info->space_info, list) {
|
H A D | root-tree.c | 533 rsv->space_info = btrfs_find_space_info(fs_info,
|
H A D | space-info.c | 25 * 1) space_info. This is the ultimate arbiter of how much space we can use. 28 * reservations we care about total_bytes - SUM(space_info->bytes_) when 29 * determining if there is space to make an allocation. There is a space_info 35 * much space is accounted for in space_info->bytes_may_use. 41 * values to adjust the space_info counters. 50 * space_info->bytes_may_reserve += num_bytes 54 * space_info->bytes_may_reserve -= num_bytes 55 * space_info->bytes_reserved += extent_bytes 59 * space_info->bytes_reserved -= extent_bytes 60 * space_info 218 btrfs_update_space_info_chunk_size(struct btrfs_space_info *space_info, u64 chunk_size) argument 227 struct btrfs_space_info *space_info; local 343 calc_available_free_space(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, enum btrfs_reserve_flush_enum flush) argument 411 btrfs_can_overcommit(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, u64 bytes, enum btrfs_reserve_flush_enum flush) argument 430 remove_ticket(struct btrfs_space_info *space_info, struct reserve_ticket *ticket) argument 444 btrfs_try_granting_tickets(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info) argument 492 space_info_flag_to_str(const struct btrfs_space_info *space_info) argument 595 shrink_delalloc(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, u64 to_reclaim, bool wait_ordered, bool for_preempt) argument 726 flush_space(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, u64 num_bytes, enum btrfs_flush_state state, bool for_preempt) argument 830 btrfs_calc_reclaim_metadata_size(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info) argument 855 need_preemptive_reclaim(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info) argument 967 steal_from_global_rsv(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, struct reserve_ticket *ticket) argument 1014 maybe_fail_all_tickets(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info) argument 1067 struct btrfs_space_info *space_info; local 1155 struct btrfs_space_info *space_info; local 1287 struct btrfs_space_info *space_info; local 1387 priority_reclaim_metadata_space(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, struct reserve_ticket *ticket, const enum btrfs_flush_state *states, int states_nr) argument 1446 priority_reclaim_data_space(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, struct reserve_ticket *ticket) argument 1474 wait_reserve_ticket(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, struct reserve_ticket *ticket) argument 1521 handle_reserve_ticket(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, struct reserve_ticket *ticket, u64 start_ns, u64 orig_bytes, enum btrfs_reserve_flush_enum flush) argument 1577 maybe_clamp_preempt(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info) argument 1626 __reserve_bytes(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, u64 orig_bytes, enum btrfs_reserve_flush_enum flush) argument 1775 btrfs_reserve_metadata_bytes(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, u64 orig_bytes, enum btrfs_reserve_flush_enum flush) argument 1827 struct btrfs_space_info *space_info; local [all...] |
H A D | space-info.h | 72 * if (num_bytes < (space_info->total_bytes - 73 * btrfs_space_info_used(space_info, false)) 178 static inline bool btrfs_mixed_space_info(struct btrfs_space_info *space_info) argument 180 return ((space_info->flags & BTRFS_BLOCK_GROUP_METADATA) && 181 (space_info->flags & BTRFS_BLOCK_GROUP_DATA)); 208 DECLARE_SPACE_INFO_UPDATE(bytes_may_use, "space_info"); 214 void btrfs_update_space_info_chunk_size(struct btrfs_space_info *space_info, 225 struct btrfs_space_info *space_info, 229 struct btrfs_space_info *space_info); 231 struct btrfs_space_info *space_info, u6 234 btrfs_space_info_free_bytes_may_use( struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, u64 num_bytes) argument [all...] |
H A D | super.c | 1692 list_for_each_entry(found, &fs_info->space_info, list) { 1763 if (!mixed && block_rsv->space_info->full &&
|
H A D | sysfs.c | 740 BTRFS_ATTR(space_info, field, btrfs_space_info_show_##field) 761 struct btrfs_space_info *space_info = to_space_info(kobj); local 776 if (space_info->flags & BTRFS_BLOCK_GROUP_SYSTEM) 797 btrfs_update_space_info_chunk_size(space_info, val); 849 struct btrfs_space_info *space_info = to_space_info(kobj); local 875 ret = btrfs_force_chunk_alloc(trans, space_info->flags); 883 BTRFS_ATTR_W(space_info, force_chunk_alloc, btrfs_force_chunk_alloc_store); 897 BTRFS_ATTR_RW(space_info, chunk_size, btrfs_chunk_size_show, btrfs_chunk_size_store); 898 BTRFS_ATTR(space_info, size_classes, btrfs_size_classes_show); 904 struct btrfs_space_info *space_info local 913 struct btrfs_space_info *space_info = to_space_info(kobj); local 957 ATTRIBUTE_GROUPS(space_info); variable 1631 struct btrfs_space_info *space_info = cache->space_info; local 1694 btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info) argument 1733 btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info) argument [all...] |
H A D | sysfs.h | 40 struct btrfs_space_info *space_info); 41 void btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info);
|
H A D | transaction.c | 565 struct btrfs_space_info *si = fs_info->trans_block_rsv.space_info; 661 if (trans_rsv->space_info->force_alloc) 753 * If the space_info is marked ALLOC_FORCE then we'll get upgraded to 759 u64 flags = h->block_rsv->space_info->flags; 801 btrfs_space_info_free_bytes_may_use(fs_info, trans_rsv->space_info,
|
H A D | tree-log.c | 2552 spin_lock(&cache->space_info->lock); 2555 cache->space_info->bytes_reserved -= fs_info->nodesize; 2557 spin_unlock(&cache->space_info->lock);
|
H A D | volumes.c | 3268 * Despite our system space_info having enough free space, we may not 5264 struct btrfs_space_info *space_info; local 5266 space_info = btrfs_find_space_info(fs_devices->fs_info, ctl->type); 5267 ASSERT(space_info); 5269 ctl->max_chunk_size = READ_ONCE(space_info->chunk_size);
|
H A D | zoned.c | 2536 struct btrfs_space_info *space_info, 2542 if (!btrfs_is_zoned(fs_info) || (space_info->flags & BTRFS_BLOCK_GROUP_DATA)) 2549 down_read(&space_info->groups_sem); 2551 list_for_each_entry(bg, &space_info->block_groups[index], 2564 up_read(&space_info->groups_sem); 2571 up_read(&space_info->groups_sem); 2535 btrfs_zoned_activate_one_bg(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, bool do_finish) argument
|
H A D | zoned.h | 98 struct btrfs_space_info *space_info, bool do_finish); 265 struct btrfs_space_info *space_info, 264 btrfs_zoned_activate_one_bg(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, bool do_finish) argument
|