space_info 336 fs/btrfs/block-group.c struct btrfs_space_info *space_info = bg->space_info; space_info 353 fs/btrfs/block-group.c down_write(&space_info->groups_sem); space_info 354 fs/btrfs/block-group.c up_write(&space_info->groups_sem); space_info 657 fs/btrfs/block-group.c spin_lock(&block_group->space_info->lock); space_info 661 fs/btrfs/block-group.c block_group->space_info->bytes_used += bytes_used >> 1; space_info 663 fs/btrfs/block-group.c spin_unlock(&block_group->space_info->lock); space_info 763 fs/btrfs/block-group.c spin_lock(&cache->space_info->lock); space_info 767 fs/btrfs/block-group.c cache->space_info->bytes_used += bytes_used >> 1; space_info 769 fs/btrfs/block-group.c spin_unlock(&cache->space_info->lock); space_info 839 fs/btrfs/block-group.c struct list_head *head = &fs_info->space_info; space_info 993 fs/btrfs/block-group.c down_write(&block_group->space_info->groups_sem); space_info 999 fs/btrfs/block-group.c if (list_empty(&block_group->space_info->block_groups[index])) { space_info 1000 fs/btrfs/block-group.c kobj = block_group->space_info->block_group_kobjs[index]; space_info 1001 fs/btrfs/block-group.c block_group->space_info->block_group_kobjs[index] = NULL; space_info 1004 fs/btrfs/block-group.c up_write(&block_group->space_info->groups_sem); space_info 1045 fs/btrfs/block-group.c spin_lock(&block_group->space_info->lock); space_info 1049 fs/btrfs/block-group.c WARN_ON(block_group->space_info->total_bytes space_info 1051 fs/btrfs/block-group.c WARN_ON(block_group->space_info->bytes_readonly space_info 1053 fs/btrfs/block-group.c WARN_ON(block_group->space_info->disk_total space_info 1056 fs/btrfs/block-group.c block_group->space_info->total_bytes -= block_group->key.offset; space_info 1057 fs/btrfs/block-group.c block_group->space_info->bytes_readonly -= block_group->key.offset; space_info 1058 fs/btrfs/block-group.c block_group->space_info->disk_total -= block_group->key.offset * factor; space_info 1060 fs/btrfs/block-group.c spin_unlock(&block_group->space_info->lock); space_info 1188 fs/btrfs/block-group.c struct btrfs_space_info *sinfo = cache->space_info; space_info 1242 fs/btrfs/block-group.c btrfs_dump_space_info(cache->fs_info, cache->space_info, 0, 0); space_info 1254 fs/btrfs/block-group.c struct btrfs_space_info *space_info; space_info 1271 fs/btrfs/block-group.c space_info = block_group->space_info; space_info 1273 fs/btrfs/block-group.c if (ret || btrfs_mixed_space_info(space_info)) { space_info 1282 fs/btrfs/block-group.c down_write(&space_info->groups_sem); space_info 1296 fs/btrfs/block-group.c up_write(&space_info->groups_sem); space_info 1303 fs/btrfs/block-group.c up_write(&space_info->groups_sem); space_info 1356 fs/btrfs/block-group.c spin_lock(&space_info->lock); space_info 1359 fs/btrfs/block-group.c btrfs_space_info_update_bytes_pinned(fs_info, space_info, space_info 1361 fs/btrfs/block-group.c space_info->bytes_readonly += block_group->pinned; space_info 1362 fs/btrfs/block-group.c percpu_counter_add_batch(&space_info->total_bytes_pinned, space_info 1368 fs/btrfs/block-group.c spin_unlock(&space_info->lock); space_info 1583 fs/btrfs/block-group.c struct btrfs_space_info *space_info = cache->space_info; space_info 1587 fs/btrfs/block-group.c down_write(&space_info->groups_sem); space_info 1588 fs/btrfs/block-group.c if (list_empty(&space_info->block_groups[index])) space_info 1590 fs/btrfs/block-group.c list_add_tail(&cache->list, &space_info->block_groups[index]); space_info 1591 fs/btrfs/block-group.c up_write(&space_info->groups_sem); space_info 1698 fs/btrfs/block-group.c struct btrfs_space_info *space_info; space_info 1821 fs/btrfs/block-group.c cache->bytes_super, &space_info); space_info 1823 fs/btrfs/block-group.c cache->space_info = space_info; space_info 1837 fs/btrfs/block-group.c list_for_each_entry_rcu(space_info, &info->space_info, list) { space_info 1838 fs/btrfs/block-group.c if (!(btrfs_get_alloc_profile(info, space_info->flags) & space_info 1849 fs/btrfs/block-group.c &space_info->block_groups[BTRFS_RAID_RAID0], space_info 1853 fs/btrfs/block-group.c &space_info->block_groups[BTRFS_RAID_SINGLE], space_info 1953 fs/btrfs/block-group.c cache->space_info = btrfs_find_space_info(fs_info, cache->flags); space_info 1954 fs/btrfs/block-group.c ASSERT(cache->space_info); space_info 1969 fs/btrfs/block-group.c cache->bytes_super, &cache->space_info); space_info 2082 fs/btrfs/block-group.c alloc_flags = btrfs_get_alloc_profile(fs_info, cache->space_info->flags); space_info 2102 fs/btrfs/block-group.c struct btrfs_space_info *sinfo = cache->space_info; space_info 2676 fs/btrfs/block-group.c spin_lock(&cache->space_info->lock); space_info 2689 fs/btrfs/block-group.c cache->space_info->bytes_reserved -= num_bytes; space_info 2690 fs/btrfs/block-group.c cache->space_info->bytes_used += num_bytes; space_info 2691 fs/btrfs/block-group.c cache->space_info->disk_used += num_bytes * factor; space_info 2693 fs/btrfs/block-group.c spin_unlock(&cache->space_info->lock); space_info 2699 fs/btrfs/block-group.c cache->space_info, num_bytes); space_info 2700 fs/btrfs/block-group.c cache->space_info->bytes_used -= num_bytes; space_info 2701 fs/btrfs/block-group.c cache->space_info->disk_used -= num_bytes * factor; space_info 2703 fs/btrfs/block-group.c spin_unlock(&cache->space_info->lock); space_info 2706 fs/btrfs/block-group.c &cache->space_info->total_bytes_pinned, space_info 2757 fs/btrfs/block-group.c struct btrfs_space_info *space_info = cache->space_info; space_info 2760 fs/btrfs/block-group.c spin_lock(&space_info->lock); space_info 2766 fs/btrfs/block-group.c space_info->bytes_reserved += num_bytes; space_info 2768 fs/btrfs/block-group.c space_info->flags, num_bytes, 1); space_info 2770 fs/btrfs/block-group.c space_info, -ram_bytes); space_info 2775 fs/btrfs/block-group.c spin_unlock(&space_info->lock); space_info 2793 fs/btrfs/block-group.c struct btrfs_space_info *space_info = cache->space_info; space_info 2795 fs/btrfs/block-group.c spin_lock(&space_info->lock); space_info 2798 fs/btrfs/block-group.c space_info->bytes_readonly += num_bytes; space_info 2800 fs/btrfs/block-group.c space_info->bytes_reserved -= num_bytes; space_info 2801 fs/btrfs/block-group.c space_info->max_extent_size = 0; space_info 2806 fs/btrfs/block-group.c spin_unlock(&space_info->lock); space_info 2811 fs/btrfs/block-group.c struct list_head *head = &info->space_info; space_info 2868 fs/btrfs/block-group.c struct btrfs_space_info *space_info; space_info 2877 fs/btrfs/block-group.c space_info = btrfs_find_space_info(fs_info, flags); space_info 2878 fs/btrfs/block-group.c ASSERT(space_info); space_info 2881 fs/btrfs/block-group.c spin_lock(&space_info->lock); space_info 2882 fs/btrfs/block-group.c if (force < space_info->force_alloc) space_info 2883 fs/btrfs/block-group.c force = space_info->force_alloc; space_info 2884 fs/btrfs/block-group.c should_alloc = should_alloc_chunk(fs_info, space_info, force); space_info 2885 fs/btrfs/block-group.c if (space_info->full) { space_info 2891 fs/btrfs/block-group.c spin_unlock(&space_info->lock); space_info 2894 fs/btrfs/block-group.c spin_unlock(&space_info->lock); space_info 2896 fs/btrfs/block-group.c } else if (space_info->chunk_alloc) { space_info 2904 fs/btrfs/block-group.c spin_unlock(&space_info->lock); space_info 2909 fs/btrfs/block-group.c space_info->chunk_alloc = 1; space_info 2911 fs/btrfs/block-group.c spin_unlock(&space_info->lock); space_info 2924 fs/btrfs/block-group.c if (btrfs_mixed_space_info(space_info)) space_info 2948 fs/btrfs/block-group.c spin_lock(&space_info->lock); space_info 2951 fs/btrfs/block-group.c space_info->full = 1; space_info 2956 fs/btrfs/block-group.c space_info->max_extent_size = 0; space_info 2959 fs/btrfs/block-group.c space_info->force_alloc = CHUNK_ALLOC_NO_FORCE; space_info 2961 fs/btrfs/block-group.c space_info->chunk_alloc = 0; space_info 2962 fs/btrfs/block-group.c spin_unlock(&space_info->lock); space_info 3096 fs/btrfs/block-group.c struct btrfs_space_info *space_info; space_info 3128 fs/btrfs/block-group.c down_write(&block_group->space_info->groups_sem); space_info 3130 fs/btrfs/block-group.c up_write(&block_group->space_info->groups_sem); space_info 3162 fs/btrfs/block-group.c while (!list_empty(&info->space_info)) { space_info 3163 fs/btrfs/block-group.c space_info = list_entry(info->space_info.next, space_info 3171 fs/btrfs/block-group.c if (WARN_ON(space_info->bytes_pinned > 0 || space_info 3172 fs/btrfs/block-group.c space_info->bytes_reserved > 0 || space_info 3173 fs/btrfs/block-group.c space_info->bytes_may_use > 0)) space_info 3174 fs/btrfs/block-group.c btrfs_dump_space_info(info, space_info, 0, 0); space_info 3175 fs/btrfs/block-group.c list_del(&space_info->list); space_info 3176 fs/btrfs/block-group.c btrfs_sysfs_remove_space_info(space_info); space_info 92 fs/btrfs/block-group.h struct btrfs_space_info *space_info; space_info 14 fs/btrfs/block-rsv.c struct btrfs_space_info *space_info = block_rsv->space_info; space_info 58 fs/btrfs/block-rsv.c space_info, space_info 92 fs/btrfs/block-rsv.c rsv->space_info = btrfs_find_space_info(fs_info, space_info 198 fs/btrfs/block-rsv.c if (target && block_rsv->space_info != target->space_info) space_info 239 fs/btrfs/block-rsv.c if (global_rsv->space_info != dest->space_info) space_info 260 fs/btrfs/block-rsv.c struct btrfs_space_info *sinfo = block_rsv->space_info; space_info 322 fs/btrfs/block-rsv.c struct btrfs_space_info *space_info; space_info 324 fs/btrfs/block-rsv.c space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_SYSTEM); space_info 325 fs/btrfs/block-rsv.c fs_info->chunk_block_rsv.space_info = space_info; space_info 327 fs/btrfs/block-rsv.c space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_METADATA); space_info 328 fs/btrfs/block-rsv.c fs_info->global_block_rsv.space_info = space_info; space_info 329 fs/btrfs/block-rsv.c fs_info->trans_block_rsv.space_info = space_info; space_info 330 fs/btrfs/block-rsv.c fs_info->empty_block_rsv.space_info = space_info; space_info 331 fs/btrfs/block-rsv.c fs_info->delayed_block_rsv.space_info = space_info; space_info 332 fs/btrfs/block-rsv.c fs_info->delayed_refs_rsv.space_info = space_info; space_info 431 fs/btrfs/block-rsv.c block_rsv->space_info == global_rsv->space_info) { space_info 26 fs/btrfs/block-rsv.h struct btrfs_space_info *space_info; space_info 759 fs/btrfs/ctree.h struct list_head space_info; space_info 162 fs/btrfs/delayed-ref.c delayed_refs_rsv->space_info, to_free); space_info 2666 fs/btrfs/disk-io.c INIT_LIST_HEAD(&fs_info->space_info); space_info 101 fs/btrfs/extent-tree.c struct btrfs_space_info *space_info; space_info 104 fs/btrfs/extent-tree.c space_info = btrfs_find_space_info(fs_info, flags); space_info 105 fs/btrfs/extent-tree.c ASSERT(space_info); space_info 106 fs/btrfs/extent-tree.c percpu_counter_add_batch(&space_info->total_bytes_pinned, ref->len, space_info 113 fs/btrfs/extent-tree.c struct btrfs_space_info *space_info; space_info 116 fs/btrfs/extent-tree.c space_info = btrfs_find_space_info(fs_info, flags); space_info 117 fs/btrfs/extent-tree.c ASSERT(space_info); space_info 118 fs/btrfs/extent-tree.c percpu_counter_add_batch(&space_info->total_bytes_pinned, -ref->len, space_info 1780 fs/btrfs/extent-tree.c struct btrfs_space_info *space_info; space_info 1789 fs/btrfs/extent-tree.c space_info = btrfs_find_space_info(fs_info, flags); space_info 1790 fs/btrfs/extent-tree.c ASSERT(space_info); space_info 1791 fs/btrfs/extent-tree.c percpu_counter_add_batch(&space_info->total_bytes_pinned, space_info 2574 fs/btrfs/extent-tree.c spin_lock(&cache->space_info->lock); space_info 2577 fs/btrfs/extent-tree.c btrfs_space_info_update_bytes_pinned(fs_info, cache->space_info, space_info 2581 fs/btrfs/extent-tree.c cache->space_info->bytes_reserved -= num_bytes; space_info 2584 fs/btrfs/extent-tree.c spin_unlock(&cache->space_info->lock); space_info 2586 fs/btrfs/extent-tree.c percpu_counter_add_batch(&cache->space_info->total_bytes_pinned, space_info 2761 fs/btrfs/extent-tree.c struct btrfs_space_info *space_info, u64 *empty_cluster) space_info 2766 fs/btrfs/extent-tree.c if (btrfs_mixed_space_info(space_info)) space_info 2769 fs/btrfs/extent-tree.c if (space_info->flags & BTRFS_BLOCK_GROUP_METADATA) { space_info 2775 fs/btrfs/extent-tree.c } else if ((space_info->flags & BTRFS_BLOCK_GROUP_DATA) && space_info 2789 fs/btrfs/extent-tree.c struct btrfs_space_info *space_info; space_info 2808 fs/btrfs/extent-tree.c cache->space_info, space_info 2824 fs/btrfs/extent-tree.c space_info = cache->space_info; space_info 2839 fs/btrfs/extent-tree.c spin_lock(&space_info->lock); space_info 2842 fs/btrfs/extent-tree.c btrfs_space_info_update_bytes_pinned(fs_info, space_info, -len); space_info 2843 fs/btrfs/extent-tree.c space_info->max_extent_size = 0; space_info 2844 fs/btrfs/extent-tree.c percpu_counter_add_batch(&space_info->total_bytes_pinned, space_info 2847 fs/btrfs/extent-tree.c space_info->bytes_readonly += len; space_info 2852 fs/btrfs/extent-tree.c global_rsv->space_info == space_info) { space_info 2861 fs/btrfs/extent-tree.c space_info, to_add); space_info 2870 fs/btrfs/extent-tree.c space_info); space_info 2872 fs/btrfs/extent-tree.c spin_unlock(&space_info->lock); space_info 3788 fs/btrfs/extent-tree.c struct btrfs_space_info *space_info; space_info 3813 fs/btrfs/extent-tree.c space_info = btrfs_find_space_info(fs_info, flags); space_info 3814 fs/btrfs/extent-tree.c if (!space_info) { space_info 3829 fs/btrfs/extent-tree.c if (unlikely(space_info->max_extent_size)) { space_info 3830 fs/btrfs/extent-tree.c spin_lock(&space_info->lock); space_info 3831 fs/btrfs/extent-tree.c if (space_info->max_extent_size && space_info 3832 fs/btrfs/extent-tree.c num_bytes > space_info->max_extent_size) { space_info 3833 fs/btrfs/extent-tree.c ins->offset = space_info->max_extent_size; space_info 3834 fs/btrfs/extent-tree.c spin_unlock(&space_info->lock); space_info 3836 fs/btrfs/extent-tree.c } else if (space_info->max_extent_size) { space_info 3839 fs/btrfs/extent-tree.c spin_unlock(&space_info->lock); space_info 3842 fs/btrfs/extent-tree.c last_ptr = fetch_cluster_info(fs_info, space_info, space_info 3875 fs/btrfs/extent-tree.c down_read(&space_info->groups_sem); space_info 3885 fs/btrfs/extent-tree.c up_read(&space_info->groups_sem); space_info 3901 fs/btrfs/extent-tree.c down_read(&space_info->groups_sem); space_info 3903 fs/btrfs/extent-tree.c &space_info->block_groups[ffe_ctl.index], list) { space_info 4037 fs/btrfs/extent-tree.c up_read(&space_info->groups_sem); space_info 4051 fs/btrfs/extent-tree.c spin_lock(&space_info->lock); space_info 4052 fs/btrfs/extent-tree.c space_info->max_extent_size = ffe_ctl.max_extent_size; space_info 4053 fs/btrfs/extent-tree.c spin_unlock(&space_info->lock); space_info 4387 fs/btrfs/extent-tree.c struct btrfs_space_info *space_info; space_info 4404 fs/btrfs/extent-tree.c space_info = block_group->space_info; space_info 4405 fs/btrfs/extent-tree.c spin_lock(&space_info->lock); space_info 4407 fs/btrfs/extent-tree.c space_info->bytes_reserved += ins->offset; space_info 4410 fs/btrfs/extent-tree.c spin_unlock(&space_info->lock); space_info 3155 fs/btrfs/free-space-cache.c struct btrfs_space_info *space_info = block_group->space_info; space_info 3162 fs/btrfs/free-space-cache.c spin_lock(&space_info->lock); space_info 3166 fs/btrfs/free-space-cache.c space_info->bytes_reserved += reserved_bytes; space_info 3170 fs/btrfs/free-space-cache.c spin_unlock(&space_info->lock); space_info 3182 fs/btrfs/free-space-cache.c spin_lock(&space_info->lock); space_info 3185 fs/btrfs/free-space-cache.c space_info->bytes_readonly += reserved_bytes; space_info 3187 fs/btrfs/free-space-cache.c space_info->bytes_reserved -= reserved_bytes; space_info 3189 fs/btrfs/free-space-cache.c spin_unlock(&space_info->lock); space_info 4080 fs/btrfs/ioctl.c list_for_each_entry_rcu(tmp, &fs_info->space_info, space_info 4136 fs/btrfs/ioctl.c list_for_each_entry_rcu(tmp, &fs_info->space_info, space_info 539 fs/btrfs/root-tree.c rsv->space_info = btrfs_find_space_info(fs_info, space_info 28 fs/btrfs/space-info.c struct list_head *head = &info->space_info; space_info 40 fs/btrfs/space-info.c struct btrfs_space_info *space_info; space_info 44 fs/btrfs/space-info.c space_info = kzalloc(sizeof(*space_info), GFP_NOFS); space_info 45 fs/btrfs/space-info.c if (!space_info) space_info 48 fs/btrfs/space-info.c ret = percpu_counter_init(&space_info->total_bytes_pinned, 0, space_info 51 fs/btrfs/space-info.c kfree(space_info); space_info 56 fs/btrfs/space-info.c INIT_LIST_HEAD(&space_info->block_groups[i]); space_info 57 fs/btrfs/space-info.c init_rwsem(&space_info->groups_sem); space_info 58 fs/btrfs/space-info.c spin_lock_init(&space_info->lock); space_info 59 fs/btrfs/space-info.c space_info->flags = flags & BTRFS_BLOCK_GROUP_TYPE_MASK; space_info 60 fs/btrfs/space-info.c space_info->force_alloc = CHUNK_ALLOC_NO_FORCE; space_info 61 fs/btrfs/space-info.c init_waitqueue_head(&space_info->wait); space_info 62 fs/btrfs/space-info.c INIT_LIST_HEAD(&space_info->ro_bgs); space_info 63 fs/btrfs/space-info.c INIT_LIST_HEAD(&space_info->tickets); space_info 64 fs/btrfs/space-info.c INIT_LIST_HEAD(&space_info->priority_tickets); space_info 66 fs/btrfs/space-info.c ret = btrfs_sysfs_add_space_info_type(info, space_info); space_info 70 fs/btrfs/space-info.c list_add_rcu(&space_info->list, &info->space_info); space_info 72 fs/btrfs/space-info.c info->data_sinfo = space_info; space_info 117 fs/btrfs/space-info.c struct btrfs_space_info **space_info) space_info 136 fs/btrfs/space-info.c *space_info = found; space_info 142 fs/btrfs/space-info.c struct list_head *head = &info->space_info; space_info 164 fs/btrfs/space-info.c struct btrfs_space_info *space_info, u64 bytes, space_info 174 fs/btrfs/space-info.c if (space_info->flags & BTRFS_BLOCK_GROUP_DATA) space_info 182 fs/btrfs/space-info.c used = btrfs_space_info_used(space_info, true); space_info 204 fs/btrfs/space-info.c if (used + bytes < space_info->total_bytes + avail) space_info 214 fs/btrfs/space-info.c struct btrfs_space_info *space_info) space_info 219 fs/btrfs/space-info.c lockdep_assert_held(&space_info->lock); space_info 221 fs/btrfs/space-info.c head = &space_info->priority_tickets; space_info 225 fs/btrfs/space-info.c u64 used = btrfs_space_info_used(space_info, true); space_info 230 fs/btrfs/space-info.c if ((used + ticket->bytes <= space_info->total_bytes) || space_info 231 fs/btrfs/space-info.c can_overcommit(fs_info, space_info, ticket->bytes, flush, space_info 234 fs/btrfs/space-info.c space_info, space_info 238 fs/btrfs/space-info.c space_info->tickets_id++; space_info 245 fs/btrfs/space-info.c if (head == &space_info->priority_tickets) { space_info 246 fs/btrfs/space-info.c head = &space_info->tickets; space_info 358 fs/btrfs/space-info.c struct btrfs_space_info *space_info; space_info 373 fs/btrfs/space-info.c space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_METADATA); space_info 427 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 428 fs/btrfs/space-info.c if (list_empty(&space_info->tickets) && space_info 429 fs/btrfs/space-info.c list_empty(&space_info->priority_tickets)) { space_info 430 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 433 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 460 fs/btrfs/space-info.c struct btrfs_space_info *space_info) space_info 474 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 475 fs/btrfs/space-info.c cur_free_bytes = btrfs_space_info_used(space_info, true); space_info 476 fs/btrfs/space-info.c if (cur_free_bytes < space_info->total_bytes) space_info 477 fs/btrfs/space-info.c cur_free_bytes = space_info->total_bytes - cur_free_bytes; space_info 481 fs/btrfs/space-info.c if (!list_empty(&space_info->priority_tickets)) space_info 482 fs/btrfs/space-info.c ticket = list_first_entry(&space_info->priority_tickets, space_info 484 fs/btrfs/space-info.c else if (!list_empty(&space_info->tickets)) space_info 485 fs/btrfs/space-info.c ticket = list_first_entry(&space_info->tickets, space_info 493 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 508 fs/btrfs/space-info.c __percpu_counter_compare(&space_info->total_bytes_pinned, space_info 517 fs/btrfs/space-info.c if (space_info != delayed_rsv->space_info) space_info 531 fs/btrfs/space-info.c if (__percpu_counter_compare(&space_info->total_bytes_pinned, space_info 549 fs/btrfs/space-info.c struct btrfs_space_info *space_info, u64 num_bytes, space_info 617 fs/btrfs/space-info.c ret = may_commit_transaction(fs_info, space_info); space_info 624 fs/btrfs/space-info.c trace_btrfs_flush_space(fs_info, space_info->flags, num_bytes, state, space_info 631 fs/btrfs/space-info.c struct btrfs_space_info *space_info, space_info 639 fs/btrfs/space-info.c list_for_each_entry(ticket, &space_info->tickets, list) space_info 641 fs/btrfs/space-info.c list_for_each_entry(ticket, &space_info->priority_tickets, list) space_info 647 fs/btrfs/space-info.c if (can_overcommit(fs_info, space_info, to_reclaim, space_info 651 fs/btrfs/space-info.c used = btrfs_space_info_used(space_info, true); space_info 653 fs/btrfs/space-info.c if (can_overcommit(fs_info, space_info, SZ_1M, space_info 655 fs/btrfs/space-info.c expected = div_factor_fine(space_info->total_bytes, 95); space_info 657 fs/btrfs/space-info.c expected = div_factor_fine(space_info->total_bytes, 90); space_info 663 fs/btrfs/space-info.c to_reclaim = min(to_reclaim, space_info->bytes_may_use + space_info 664 fs/btrfs/space-info.c space_info->bytes_reserved); space_info 669 fs/btrfs/space-info.c struct btrfs_space_info *space_info, space_info 672 fs/btrfs/space-info.c u64 thresh = div_factor_fine(space_info->total_bytes, 98); space_info 675 fs/btrfs/space-info.c if ((space_info->bytes_used + space_info->bytes_reserved) >= thresh) space_info 678 fs/btrfs/space-info.c if (!btrfs_calc_reclaim_metadata_size(fs_info, space_info, space_info 702 fs/btrfs/space-info.c struct btrfs_space_info *space_info) space_info 705 fs/btrfs/space-info.c u64 tickets_id = space_info->tickets_id; space_info 710 fs/btrfs/space-info.c __btrfs_dump_space_info(fs_info, space_info); space_info 713 fs/btrfs/space-info.c while (!list_empty(&space_info->tickets) && space_info 714 fs/btrfs/space-info.c tickets_id == space_info->tickets_id) { space_info 715 fs/btrfs/space-info.c ticket = list_first_entry(&space_info->tickets, space_info 747 fs/btrfs/space-info.c btrfs_try_granting_tickets(fs_info, space_info); space_info 749 fs/btrfs/space-info.c return (tickets_id != space_info->tickets_id); space_info 760 fs/btrfs/space-info.c struct btrfs_space_info *space_info; space_info 767 fs/btrfs/space-info.c space_info = btrfs_find_space_info(fs_info, BTRFS_BLOCK_GROUP_METADATA); space_info 769 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 770 fs/btrfs/space-info.c to_reclaim = btrfs_calc_reclaim_metadata_size(fs_info, space_info, space_info 773 fs/btrfs/space-info.c space_info->flush = 0; space_info 774 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 777 fs/btrfs/space-info.c last_tickets_id = space_info->tickets_id; space_info 778 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 782 fs/btrfs/space-info.c flush_space(fs_info, space_info, to_reclaim, flush_state); space_info 783 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 784 fs/btrfs/space-info.c if (list_empty(&space_info->tickets)) { space_info 785 fs/btrfs/space-info.c space_info->flush = 0; space_info 786 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 790 fs/btrfs/space-info.c space_info, space_info 792 fs/btrfs/space-info.c if (last_tickets_id == space_info->tickets_id) { space_info 795 fs/btrfs/space-info.c last_tickets_id = space_info->tickets_id; space_info 817 fs/btrfs/space-info.c if (maybe_fail_all_tickets(fs_info, space_info)) { space_info 821 fs/btrfs/space-info.c space_info->flush = 0; space_info 827 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 854 fs/btrfs/space-info.c struct btrfs_space_info *space_info, space_info 862 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 863 fs/btrfs/space-info.c to_reclaim = btrfs_calc_reclaim_metadata_size(fs_info, space_info, space_info 866 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 869 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 873 fs/btrfs/space-info.c flush_space(fs_info, space_info, to_reclaim, states[flush_state]); space_info 875 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 877 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 880 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 885 fs/btrfs/space-info.c struct btrfs_space_info *space_info, space_info 892 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 908 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 913 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 915 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 929 fs/btrfs/space-info.c struct btrfs_space_info *space_info, space_info 937 fs/btrfs/space-info.c wait_reserve_ticket(fs_info, space_info, ticket); space_info 940 fs/btrfs/space-info.c priority_reclaim_metadata_space(fs_info, space_info, ticket, space_info 945 fs/btrfs/space-info.c priority_reclaim_metadata_space(fs_info, space_info, ticket, space_info 954 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 966 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 993 fs/btrfs/space-info.c struct btrfs_space_info *space_info, space_info 1006 fs/btrfs/space-info.c spin_lock(&space_info->lock); space_info 1008 fs/btrfs/space-info.c used = btrfs_space_info_used(space_info, true); space_info 1009 fs/btrfs/space-info.c pending_tickets = !list_empty(&space_info->tickets) || space_info 1010 fs/btrfs/space-info.c !list_empty(&space_info->priority_tickets); space_info 1017 fs/btrfs/space-info.c ((used + orig_bytes <= space_info->total_bytes) || space_info 1018 fs/btrfs/space-info.c can_overcommit(fs_info, space_info, orig_bytes, flush, space_info 1020 fs/btrfs/space-info.c btrfs_space_info_update_bytes_may_use(fs_info, space_info, space_info 1037 fs/btrfs/space-info.c list_add_tail(&ticket.list, &space_info->tickets); space_info 1038 fs/btrfs/space-info.c if (!space_info->flush) { space_info 1039 fs/btrfs/space-info.c space_info->flush = 1; space_info 1041 fs/btrfs/space-info.c space_info->flags, space_info 1049 fs/btrfs/space-info.c &space_info->priority_tickets); space_info 1051 fs/btrfs/space-info.c } else if (!ret && space_info->flags & BTRFS_BLOCK_GROUP_METADATA) { space_info 1059 fs/btrfs/space-info.c need_do_async_reclaim(fs_info, space_info, space_info 1062 fs/btrfs/space-info.c trace_btrfs_trigger_flush(fs_info, space_info->flags, space_info 1068 fs/btrfs/space-info.c spin_unlock(&space_info->lock); space_info 1072 fs/btrfs/space-info.c return handle_reserve_ticket(fs_info, space_info, &ticket, flush); space_info 1099 fs/btrfs/space-info.c ret = __reserve_metadata_bytes(fs_info, block_rsv->space_info, space_info 1109 fs/btrfs/space-info.c block_rsv->space_info->flags, space_info 1113 fs/btrfs/space-info.c btrfs_dump_space_info(fs_info, block_rsv->space_info, space_info 79 fs/btrfs/space-info.h static inline bool btrfs_mixed_space_info(struct btrfs_space_info *space_info) space_info 81 fs/btrfs/space-info.h return ((space_info->flags & BTRFS_BLOCK_GROUP_METADATA) && space_info 82 fs/btrfs/space-info.h (space_info->flags & BTRFS_BLOCK_GROUP_DATA)); space_info 116 fs/btrfs/space-info.h struct btrfs_space_info **space_info); space_info 130 fs/btrfs/space-info.h struct btrfs_space_info *space_info); space_info 134 fs/btrfs/space-info.h struct btrfs_space_info *space_info, space_info 137 fs/btrfs/space-info.h spin_lock(&space_info->lock); space_info 138 fs/btrfs/space-info.h btrfs_space_info_update_bytes_may_use(fs_info, space_info, -num_bytes); space_info 139 fs/btrfs/space-info.h btrfs_try_granting_tickets(fs_info, space_info); space_info 140 fs/btrfs/space-info.h spin_unlock(&space_info->lock); space_info 2027 fs/btrfs/super.c struct list_head *head = &fs_info->space_info; space_info 2114 fs/btrfs/super.c if (!mixed && block_rsv->space_info->full && space_info 416 fs/btrfs/sysfs.c BTRFS_ATTR(space_info, field, btrfs_space_info_show_##field) space_info 436 fs/btrfs/sysfs.c BTRFS_ATTR(space_info, total_bytes_pinned, space_info 440 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, flags), space_info 441 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, total_bytes), space_info 442 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, bytes_used), space_info 443 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, bytes_pinned), space_info 444 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, bytes_reserved), space_info 445 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, bytes_may_use), space_info 446 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, bytes_readonly), space_info 447 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, disk_used), space_info 448 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, disk_total), space_info 449 fs/btrfs/sysfs.c BTRFS_ATTR_PTR(space_info, total_bytes_pinned), space_info 452 fs/btrfs/sysfs.c ATTRIBUTE_GROUPS(space_info); space_info 828 fs/btrfs/sysfs.c struct btrfs_space_info *space_info = cache->space_info; space_info 853 fs/btrfs/sysfs.c ret = kobject_add(&rkobj->kobj, &space_info->kobj, "%s", space_info 863 fs/btrfs/sysfs.c space_info->block_group_kobjs[index] = &rkobj->kobj; space_info 870 fs/btrfs/sysfs.c void btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info) space_info 877 fs/btrfs/sysfs.c kobj = space_info->block_group_kobjs[i]; space_info 878 fs/btrfs/sysfs.c space_info->block_group_kobjs[i] = NULL; space_info 884 fs/btrfs/sysfs.c kobject_del(&space_info->kobj); space_info 885 fs/btrfs/sysfs.c kobject_put(&space_info->kobj); space_info 910 fs/btrfs/sysfs.c struct btrfs_space_info *space_info) space_info 914 fs/btrfs/sysfs.c ret = kobject_init_and_add(&space_info->kobj, &space_info_ktype, space_info 916 fs/btrfs/sysfs.c alloc_name(space_info->flags)); space_info 918 fs/btrfs/sysfs.c kobject_put(&space_info->kobj); space_info 37 fs/btrfs/sysfs.h struct btrfs_space_info *space_info); space_info 38 fs/btrfs/sysfs.h void btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info);