Lines Matching refs:space_info

381 	struct btrfs_space_info *space_info = bg->space_info;
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;
1150 down_write(&block_group->space_info->groups_sem);
1156 if (list_empty(&block_group->space_info->block_groups[index])) {
1157 kobj = block_group->space_info->block_group_kobjs[index];
1158 block_group->space_info->block_group_kobjs[index] = NULL;
1161 up_write(&block_group->space_info->groups_sem);
1201 spin_lock(&block_group->space_info->lock);
1205 WARN_ON(block_group->space_info->total_bytes
1207 WARN_ON(block_group->space_info->bytes_readonly
1209 WARN_ON(block_group->space_info->bytes_zone_unusable
1211 WARN_ON(block_group->space_info->disk_total
1214 block_group->space_info->total_bytes -= block_group->length;
1215 block_group->space_info->bytes_readonly -=
1217 block_group->space_info->bytes_zone_unusable -=
1219 block_group->space_info->disk_total -= block_group->length * factor;
1221 spin_unlock(&block_group->space_info->lock);
1349 struct btrfs_space_info *sinfo = cache->space_info;
1414 btrfs_dump_space_info(cache->fs_info, cache->space_info, 0, 0);
1472 struct btrfs_space_info *space_info;
1500 space_info = block_group->space_info;
1502 if (ret || btrfs_mixed_space_info(space_info)) {
1511 down_write(&space_info->groups_sem);
1521 up_write(&space_info->groups_sem);
1528 spin_lock(&space_info->lock);
1540 spin_unlock(&space_info->lock);
1541 up_write(&space_info->groups_sem);
1548 * space_info->bytes_may_use was incremented by a task but no
1556 * So check if the total space of the space_info minus the size
1558 * space_info - if that's the case, then it means we have tasks
1564 used = btrfs_space_info_used(space_info, true);
1565 if (space_info->total_bytes - block_group->length < used) {
1576 spin_unlock(&space_info->lock);
1577 up_write(&space_info->groups_sem);
1582 spin_unlock(&space_info->lock);
1586 up_write(&space_info->groups_sem);
1639 spin_lock(&space_info->lock);
1642 btrfs_space_info_update_bytes_pinned(fs_info, space_info,
1644 space_info->bytes_readonly += block_group->pinned;
1648 spin_unlock(&space_info->lock);
1762 const struct btrfs_space_info *space_info = bg->space_info;
1763 const int reclaim_thresh = READ_ONCE(space_info->bg_reclaim_threshold);
1789 struct btrfs_space_info *space_info;
1833 space_info = bg->space_info;
1837 down_write(&space_info->groups_sem);
1848 up_write(&space_info->groups_sem);
1866 up_write(&space_info->groups_sem);
1882 up_write(&space_info->groups_sem);
1896 up_write(&space_info->groups_sem);
1908 up_write(&space_info->groups_sem);
2472 struct btrfs_space_info *space_info;
2530 list_for_each_entry(space_info, &info->space_info, list) {
2534 if (list_empty(&space_info->block_groups[i]))
2536 cache = list_first_entry(&space_info->block_groups[i],
2542 if (!(btrfs_get_alloc_profile(info, space_info->flags) &
2553 &space_info->block_groups[BTRFS_RAID_RAID0],
2557 &space_info->block_groups[BTRFS_RAID_SINGLE],
2752 if (block_group->space_info->block_group_kobjs[index] == NULL)
2837 * Ensure the corresponding space_info object is created and
2839 * with its ->space_info set.
2841 cache->space_info = btrfs_find_space_info(fs_info, cache->flags);
2842 ASSERT(cache->space_info);
2852 * Now that our block group has its ->space_info set and is inserted in
2861 cache->space_info->bytes_used += size >> 1;
2967 alloc_flags = btrfs_get_alloc_profile(fs_info, cache->space_info->flags);
2975 ret = btrfs_zoned_activate_one_bg(fs_info, cache->space_info, true);
2998 struct btrfs_space_info *sinfo = cache->space_info;
3609 struct btrfs_space_info *space_info;
3617 space_info = cache->space_info;
3632 spin_lock(&space_info->lock);
3645 space_info->bytes_reserved -= num_bytes;
3646 space_info->bytes_used += num_bytes;
3647 space_info->disk_used += num_bytes * factor;
3649 spin_unlock(&space_info->lock);
3654 btrfs_space_info_update_bytes_pinned(info, space_info,
3656 space_info->bytes_used -= num_bytes;
3657 space_info->disk_used -= num_bytes * factor;
3662 spin_unlock(&space_info->lock);
3718 struct btrfs_space_info *space_info = cache->space_info;
3722 spin_lock(&space_info->lock);
3736 space_info->bytes_reserved += num_bytes;
3737 trace_btrfs_space_reservation(cache->fs_info, "space_info",
3738 space_info->flags, num_bytes, 1);
3740 space_info, -ram_bytes);
3749 btrfs_try_granting_tickets(cache->fs_info, space_info);
3752 spin_unlock(&space_info->lock);
3771 struct btrfs_space_info *space_info = cache->space_info;
3773 spin_lock(&space_info->lock);
3776 space_info->bytes_readonly += num_bytes;
3778 space_info->bytes_reserved -= num_bytes;
3779 space_info->max_extent_size = 0;
3785 btrfs_try_granting_tickets(cache->fs_info, space_info);
3786 spin_unlock(&space_info->lock);
3791 struct list_head *head = &info->space_info;
3855 * previously reserved space in the system space_info and allocated one
3858 * 1) We may have enough free space in the system space_info but all the
3865 * we may have enough free space in the existing system space_info, but
3876 * 2) We had enough free space info the system space_info, and one suitable
3949 * metadata space_info and therefore don't trigger allocation of a new chunk.
3957 * 2) Because we only check that the metadata space_info has enough free bytes,
4038 struct btrfs_space_info *space_info;
4077 space_info = btrfs_find_space_info(fs_info, flags);
4078 ASSERT(space_info);
4081 spin_lock(&space_info->lock);
4082 if (force < space_info->force_alloc)
4083 force = space_info->force_alloc;
4084 should_alloc = should_alloc_chunk(fs_info, space_info, force);
4085 if (space_info->full) {
4091 spin_unlock(&space_info->lock);
4094 spin_unlock(&space_info->lock);
4096 } else if (space_info->chunk_alloc) {
4105 spin_unlock(&space_info->lock);
4110 space_info->chunk_alloc = 1;
4112 spin_unlock(&space_info->lock);
4125 if (btrfs_mixed_space_info(space_info))
4156 spin_lock(&space_info->lock);
4159 space_info->full = 1;
4164 space_info->max_extent_size = 0;
4167 space_info->force_alloc = CHUNK_ALLOC_NO_FORCE;
4169 space_info->chunk_alloc = 0;
4170 spin_unlock(&space_info->lock);
4339 struct btrfs_space_info *space_info;
4400 down_write(&block_group->space_info->groups_sem);
4402 up_write(&block_group->space_info->groups_sem);
4427 while (!list_empty(&info->space_info)) {
4428 space_info = list_entry(info->space_info.next,
4436 if (WARN_ON(space_info->bytes_pinned > 0 ||
4437 space_info->bytes_may_use > 0))
4438 btrfs_dump_space_info(info, space_info, 0, 0);
4447 if (!(space_info->flags & BTRFS_BLOCK_GROUP_METADATA) ||
4449 if (WARN_ON(space_info->bytes_reserved > 0))
4450 btrfs_dump_space_info(info, space_info, 0, 0);
4453 WARN_ON(space_info->reclaim_size > 0);
4454 list_del(&space_info->list);
4455 btrfs_sysfs_remove_space_info(space_info);