Lines Matching defs: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;
1152 down_write(&block_group->space_info->groups_sem);
1158 if (list_empty(&block_group->space_info->block_groups[index])) {
1159 kobj = block_group->space_info->block_group_kobjs[index];
1160 block_group->space_info->block_group_kobjs[index] = NULL;
1163 up_write(&block_group->space_info->groups_sem);
1203 spin_lock(&block_group->space_info->lock);
1207 WARN_ON(block_group->space_info->total_bytes
1209 WARN_ON(block_group->space_info->bytes_readonly
1211 WARN_ON(block_group->space_info->bytes_zone_unusable
1213 WARN_ON(block_group->space_info->disk_total
1216 block_group->space_info->total_bytes -= block_group->length;
1217 block_group->space_info->bytes_readonly -=
1219 block_group->space_info->bytes_zone_unusable -=
1221 block_group->space_info->disk_total -= block_group->length * factor;
1223 spin_unlock(&block_group->space_info->lock);
1339 struct btrfs_space_info *sinfo = cache->space_info;
1404 btrfs_dump_space_info(cache->fs_info, cache->space_info, 0, 0);
1462 struct btrfs_space_info *space_info;
1490 space_info = block_group->space_info;
1492 if (ret || btrfs_mixed_space_info(space_info)) {
1501 down_write(&space_info->groups_sem);
1511 up_write(&space_info->groups_sem);
1518 spin_lock(&space_info->lock);
1537 spin_unlock(&space_info->lock);
1538 up_write(&space_info->groups_sem);
1545 * space_info->bytes_may_use was incremented by a task but no
1553 * So check if the total space of the space_info minus the size
1555 * space_info - if that's the case, then it means we have tasks
1561 used = btrfs_space_info_used(space_info, true);
1562 if (space_info->total_bytes - block_group->length < used &&
1574 spin_unlock(&space_info->lock);
1575 up_write(&space_info->groups_sem);
1580 spin_unlock(&space_info->lock);
1584 up_write(&space_info->groups_sem);
1637 spin_lock(&space_info->lock);
1640 btrfs_space_info_update_bytes_pinned(fs_info, space_info,
1642 space_info->bytes_readonly += block_group->pinned;
1646 spin_unlock(&space_info->lock);
1760 const struct btrfs_space_info *space_info = bg->space_info;
1761 const int reclaim_thresh = READ_ONCE(space_info->bg_reclaim_threshold);
1787 struct btrfs_space_info *space_info;
1831 space_info = bg->space_info;
1835 down_write(&space_info->groups_sem);
1846 up_write(&space_info->groups_sem);
1864 up_write(&space_info->groups_sem);
1880 up_write(&space_info->groups_sem);
1894 up_write(&space_info->groups_sem);
1906 up_write(&space_info->groups_sem);
2459 struct btrfs_space_info *space_info;
2517 list_for_each_entry(space_info, &info->space_info, list) {
2521 if (list_empty(&space_info->block_groups[i]))
2523 cache = list_first_entry(&space_info->block_groups[i],
2529 if (!(btrfs_get_alloc_profile(info, space_info->flags) &
2540 &space_info->block_groups[BTRFS_RAID_RAID0],
2544 &space_info->block_groups[BTRFS_RAID_SINGLE],
2734 if (block_group->space_info->block_group_kobjs[index] == NULL)
2850 * Ensure the corresponding space_info object is created and
2852 * with its ->space_info set.
2854 cache->space_info = btrfs_find_space_info(fs_info, cache->flags);
2855 ASSERT(cache->space_info);
2865 * Now that our block group has its ->space_info set and is inserted in
2874 cache->space_info->bytes_used += size >> 1;
2979 alloc_flags = btrfs_get_alloc_profile(fs_info, cache->space_info->flags);
2987 ret = btrfs_zoned_activate_one_bg(fs_info, cache->space_info, true);
3010 struct btrfs_space_info *sinfo = cache->space_info;
3601 struct btrfs_space_info *space_info;
3625 space_info = cache->space_info;
3637 spin_lock(&space_info->lock);
3649 space_info->bytes_reserved -= num_bytes;
3650 space_info->bytes_used += num_bytes;
3651 space_info->disk_used += num_bytes * factor;
3653 spin_unlock(&space_info->lock);
3658 btrfs_space_info_update_bytes_pinned(info, space_info, num_bytes);
3659 space_info->bytes_used -= num_bytes;
3660 space_info->disk_used -= num_bytes * factor;
3665 spin_unlock(&space_info->lock);
3717 struct btrfs_space_info *space_info = cache->space_info;
3721 spin_lock(&space_info->lock);
3735 space_info->bytes_reserved += num_bytes;
3736 trace_btrfs_space_reservation(cache->fs_info, "space_info",
3737 space_info->flags, num_bytes, 1);
3739 space_info, -ram_bytes);
3748 btrfs_try_granting_tickets(cache->fs_info, space_info);
3751 spin_unlock(&space_info->lock);
3770 struct btrfs_space_info *space_info = cache->space_info;
3772 spin_lock(&space_info->lock);
3775 space_info->bytes_readonly += num_bytes;
3777 space_info->bytes_reserved -= num_bytes;
3778 space_info->max_extent_size = 0;
3784 btrfs_try_granting_tickets(cache->fs_info, space_info);
3785 spin_unlock(&space_info->lock);
3790 struct list_head *head = &info->space_info;
3854 * previously reserved space in the system space_info and allocated one
3857 * 1) We may have enough free space in the system space_info but all the
3864 * we may have enough free space in the existing system space_info, but
3875 * 2) We had enough free space info the system space_info, and one suitable
3948 * metadata space_info and therefore don't trigger allocation of a new chunk.
3956 * 2) Because we only check that the metadata space_info has enough free bytes,
4037 struct btrfs_space_info *space_info;
4076 space_info = btrfs_find_space_info(fs_info, flags);
4077 ASSERT(space_info);
4080 spin_lock(&space_info->lock);
4081 if (force < space_info->force_alloc)
4082 force = space_info->force_alloc;
4083 should_alloc = should_alloc_chunk(fs_info, space_info, force);
4084 if (space_info->full) {
4090 spin_unlock(&space_info->lock);
4093 spin_unlock(&space_info->lock);
4095 } else if (space_info->chunk_alloc) {
4104 spin_unlock(&space_info->lock);
4109 space_info->chunk_alloc = 1;
4111 spin_unlock(&space_info->lock);
4124 if (btrfs_mixed_space_info(space_info))
4155 spin_lock(&space_info->lock);
4158 space_info->full = 1;
4163 space_info->max_extent_size = 0;
4166 space_info->force_alloc = CHUNK_ALLOC_NO_FORCE;
4168 space_info->chunk_alloc = 0;
4169 spin_unlock(&space_info->lock);
4338 struct btrfs_space_info *space_info;
4399 down_write(&block_group->space_info->groups_sem);
4401 up_write(&block_group->space_info->groups_sem);
4426 while (!list_empty(&info->space_info)) {
4427 space_info = list_entry(info->space_info.next,
4435 if (WARN_ON(space_info->bytes_pinned > 0 ||
4436 space_info->bytes_may_use > 0))
4437 btrfs_dump_space_info(info, space_info, 0, 0);
4446 if (!(space_info->flags & BTRFS_BLOCK_GROUP_METADATA) ||
4448 if (WARN_ON(space_info->bytes_reserved > 0))
4449 btrfs_dump_space_info(info, space_info, 0, 0);
4452 WARN_ON(space_info->reclaim_size > 0);
4453 list_del(&space_info->list);
4454 btrfs_sysfs_remove_space_info(space_info);