Lines Matching refs:block_group
128 struct btrfs_block_group_cache *block_group) in btrfs_add_block_group_cache() argument
141 if (block_group->key.objectid < cache->key.objectid) { in btrfs_add_block_group_cache()
143 } else if (block_group->key.objectid > cache->key.objectid) { in btrfs_add_block_group_cache()
151 rb_link_node(&block_group->cache_node, parent, p); in btrfs_add_block_group_cache()
152 rb_insert_color(&block_group->cache_node, in btrfs_add_block_group_cache()
155 if (info->first_logical_byte > block_group->key.objectid) in btrfs_add_block_group_cache()
156 info->first_logical_byte = block_group->key.objectid; in btrfs_add_block_group_cache()
315 static void fragment_free_space(struct btrfs_block_group_cache *block_group) in fragment_free_space() argument
317 struct btrfs_fs_info *fs_info = block_group->fs_info; in fragment_free_space()
318 u64 start = block_group->key.objectid; in fragment_free_space()
319 u64 len = block_group->key.offset; in fragment_free_space()
320 u64 chunk = block_group->flags & BTRFS_BLOCK_GROUP_METADATA ? in fragment_free_space()
325 btrfs_remove_free_space(block_group, start, chunk); in fragment_free_space()
340 u64 add_new_free_space(struct btrfs_block_group_cache *block_group, in add_new_free_space() argument
343 struct btrfs_fs_info *info = block_group->fs_info; in add_new_free_space()
360 ret = btrfs_add_free_space(block_group, start, in add_new_free_space()
372 ret = btrfs_add_free_space(block_group, start, size); in add_new_free_space()
381 struct btrfs_block_group_cache *block_group = caching_ctl->block_group; in load_extent_tree_free() local
382 struct btrfs_fs_info *fs_info = block_group->fs_info; in load_extent_tree_free()
397 last = max_t(u64, block_group->key.objectid, BTRFS_SUPER_INFO_OFFSET); in load_extent_tree_free()
405 if (btrfs_should_fragment_free_space(block_group)) in load_extent_tree_free()
477 if (key.objectid < block_group->key.objectid) { in load_extent_tree_free()
482 if (key.objectid >= block_group->key.objectid + in load_extent_tree_free()
483 block_group->key.offset) in load_extent_tree_free()
488 total_found += add_new_free_space(block_group, last, in load_extent_tree_free()
506 total_found += add_new_free_space(block_group, last, in load_extent_tree_free()
507 block_group->key.objectid + in load_extent_tree_free()
508 block_group->key.offset); in load_extent_tree_free()
518 struct btrfs_block_group_cache *block_group; in caching_thread() local
524 block_group = caching_ctl->block_group; in caching_thread()
525 fs_info = block_group->fs_info; in caching_thread()
535 spin_lock(&block_group->lock); in caching_thread()
536 block_group->caching_ctl = NULL; in caching_thread()
537 block_group->cached = ret ? BTRFS_CACHE_ERROR : BTRFS_CACHE_FINISHED; in caching_thread()
538 spin_unlock(&block_group->lock); in caching_thread()
541 if (btrfs_should_fragment_free_space(block_group)) { in caching_thread()
544 spin_lock(&block_group->space_info->lock); in caching_thread()
545 spin_lock(&block_group->lock); in caching_thread()
546 bytes_used = block_group->key.offset - in caching_thread()
547 btrfs_block_group_used(&block_group->item); in caching_thread()
548 block_group->space_info->bytes_used += bytes_used >> 1; in caching_thread()
549 spin_unlock(&block_group->lock); in caching_thread()
550 spin_unlock(&block_group->space_info->lock); in caching_thread()
551 fragment_free_space(block_group); in caching_thread()
558 free_excluded_extents(block_group); in caching_thread()
564 btrfs_put_block_group(block_group); in caching_thread()
582 caching_ctl->block_group = cache; in cache_block_group()
3315 static int cache_save_setup(struct btrfs_block_group_cache *block_group, in cache_save_setup() argument
3319 struct btrfs_fs_info *fs_info = block_group->fs_info; in cache_save_setup()
3333 if (block_group->key.offset < (100 * SZ_1M)) { in cache_save_setup()
3334 spin_lock(&block_group->lock); in cache_save_setup()
3335 block_group->disk_cache_state = BTRFS_DC_WRITTEN; in cache_save_setup()
3336 spin_unlock(&block_group->lock); in cache_save_setup()
3343 inode = lookup_free_space_inode(fs_info, block_group, path); in cache_save_setup()
3354 if (block_group->ro) in cache_save_setup()
3357 ret = create_free_space_inode(fs_info, trans, block_group, in cache_save_setup()
3388 if (block_group->cache_generation == trans->transid && in cache_save_setup()
3405 spin_lock(&block_group->lock); in cache_save_setup()
3406 if (block_group->cached != BTRFS_CACHE_FINISHED || in cache_save_setup()
3415 spin_unlock(&block_group->lock); in cache_save_setup()
3418 spin_unlock(&block_group->lock); in cache_save_setup()
3435 num_pages = div_u64(block_group->key.offset, SZ_256M); in cache_save_setup()
3467 spin_lock(&block_group->lock); in cache_save_setup()
3469 block_group->cache_generation = trans->transid; in cache_save_setup()
3470 block_group->disk_cache_state = dcs; in cache_save_setup()
3471 spin_unlock(&block_group->lock); in cache_save_setup()
3808 struct btrfs_block_group_cache *block_group; in btrfs_extent_readonly() local
3811 block_group = btrfs_lookup_block_group(fs_info, bytenr); in btrfs_extent_readonly()
3812 if (!block_group || block_group->ro) in btrfs_extent_readonly()
3814 if (block_group) in btrfs_extent_readonly()
3815 btrfs_put_block_group(block_group); in btrfs_extent_readonly()
6260 struct btrfs_block_group_cache *block_group; in __exclude_logged_extent() local
6263 block_group = btrfs_lookup_block_group(fs_info, start); in __exclude_logged_extent()
6264 if (!block_group) in __exclude_logged_extent()
6267 cache_block_group(block_group, 0); in __exclude_logged_extent()
6268 caching_ctl = get_caching_control(block_group); in __exclude_logged_extent()
6272 BUG_ON(!block_group_cache_done(block_group)); in __exclude_logged_extent()
6273 ret = btrfs_remove_free_space(block_group, start, num_bytes); in __exclude_logged_extent()
6280 ret = btrfs_remove_free_space(block_group, in __exclude_logged_extent()
6284 ret = btrfs_remove_free_space(block_group, in __exclude_logged_extent()
6298 btrfs_put_block_group(block_group); in __exclude_logged_extent()
6456 cache = caching_ctl->block_group; in btrfs_prepare_extent_commit()
6610 struct btrfs_block_group_cache *block_group, *tmp; in btrfs_finish_extent_commit() local
6647 list_for_each_entry_safe(block_group, tmp, deleted_bgs, bg_list) { in btrfs_finish_extent_commit()
6653 block_group->key.objectid, in btrfs_finish_extent_commit()
6654 block_group->key.offset, in btrfs_finish_extent_commit()
6657 list_del_init(&block_group->bg_list); in btrfs_finish_extent_commit()
6658 btrfs_put_block_group_trimming(block_group); in btrfs_finish_extent_commit()
6659 btrfs_put_block_group(block_group); in btrfs_finish_extent_commit()
7168 btrfs_lock_cluster(struct btrfs_block_group_cache *block_group, in btrfs_lock_cluster() argument
7176 used_bg = cluster->block_group; in btrfs_lock_cluster()
7180 if (used_bg == block_group) in btrfs_lock_cluster()
7197 if (used_bg == cluster->block_group) in btrfs_lock_cluster()
7233 struct btrfs_block_group_cache *block_group = NULL; in find_free_extent() local
7286 if (last_ptr->block_group) in find_free_extent()
7303 block_group = btrfs_lookup_block_group(fs_info, search_start); in find_free_extent()
7311 if (block_group && block_group_bits(block_group, flags) && in find_free_extent()
7312 block_group->cached != BTRFS_CACHE_NO) { in find_free_extent()
7314 if (list_empty(&block_group->list) || in find_free_extent()
7315 block_group->ro) { in find_free_extent()
7322 btrfs_put_block_group(block_group); in find_free_extent()
7326 block_group->flags); in find_free_extent()
7327 btrfs_lock_block_group(block_group, delalloc); in find_free_extent()
7330 } else if (block_group) { in find_free_extent()
7331 btrfs_put_block_group(block_group); in find_free_extent()
7339 list_for_each_entry(block_group, &space_info->block_groups[index], in find_free_extent()
7345 if (unlikely(block_group->ro)) in find_free_extent()
7348 btrfs_grab_block_group(block_group, delalloc); in find_free_extent()
7349 search_start = block_group->key.objectid; in find_free_extent()
7356 if (!block_group_bits(block_group, flags)) { in find_free_extent()
7368 if ((flags & extra) && !(block_group->flags & extra)) in find_free_extent()
7373 cached = block_group_cache_done(block_group); in find_free_extent()
7376 ret = cache_block_group(block_group, 0); in find_free_extent()
7381 if (unlikely(block_group->cached == BTRFS_CACHE_ERROR)) in find_free_extent()
7395 used_block_group = btrfs_lock_cluster(block_group, in find_free_extent()
7401 if (used_block_group != block_group && in find_free_extent()
7417 if (used_block_group != block_group) { in find_free_extent()
7418 btrfs_release_block_group(block_group, in find_free_extent()
7420 block_group = used_block_group; in find_free_extent()
7425 WARN_ON(last_ptr->block_group != used_block_group); in find_free_extent()
7443 used_block_group != block_group) { in find_free_extent()
7456 if (used_block_group != block_group) in find_free_extent()
7467 block_group->full_stripe_len); in find_free_extent()
7470 ret = btrfs_find_space_cluster(fs_info, block_group, in find_free_extent()
7479 offset = btrfs_alloc_from_cluster(block_group, in find_free_extent()
7488 block_group, search_start, in find_free_extent()
7497 wait_block_group_cache_progress(block_group, in find_free_extent()
7526 block_group->free_space_ctl; in find_free_extent()
7539 offset = btrfs_find_space_for_alloc(block_group, search_start, in find_free_extent()
7553 wait_block_group_cache_progress(block_group, in find_free_extent()
7565 block_group->key.objectid + block_group->key.offset) { in find_free_extent()
7566 btrfs_add_free_space(block_group, offset, num_bytes); in find_free_extent()
7571 btrfs_add_free_space(block_group, offset, in find_free_extent()
7574 ret = btrfs_add_reserved_bytes(block_group, ram_bytes, in find_free_extent()
7577 btrfs_add_free_space(block_group, offset, num_bytes); in find_free_extent()
7580 btrfs_inc_block_group_reservations(block_group); in find_free_extent()
7586 trace_btrfs_reserve_extent(block_group, search_start, num_bytes); in find_free_extent()
7587 btrfs_release_block_group(block_group, delalloc); in find_free_extent()
7592 BUG_ON(btrfs_bg_flags_to_raid_index(block_group->flags) != in find_free_extent()
7594 btrfs_release_block_group(block_group, delalloc); in find_free_extent()
8079 struct btrfs_block_group_cache *block_group; in btrfs_alloc_logged_file_extent() local
8093 block_group = btrfs_lookup_block_group(fs_info, ins->objectid); in btrfs_alloc_logged_file_extent()
8094 if (!block_group) in btrfs_alloc_logged_file_extent()
8097 space_info = block_group->space_info; in btrfs_alloc_logged_file_extent()
8099 spin_lock(&block_group->lock); in btrfs_alloc_logged_file_extent()
8101 block_group->reserved += ins->offset; in btrfs_alloc_logged_file_extent()
8102 spin_unlock(&block_group->lock); in btrfs_alloc_logged_file_extent()
8107 btrfs_put_block_group(block_group); in btrfs_alloc_logged_file_extent()
9326 struct btrfs_block_group_cache *block_group; in btrfs_account_ro_block_groups_free_space() local
9335 list_for_each_entry(block_group, &sinfo->ro_bgs, ro_list) { in btrfs_account_ro_block_groups_free_space()
9336 spin_lock(&block_group->lock); in btrfs_account_ro_block_groups_free_space()
9338 if (!block_group->ro) { in btrfs_account_ro_block_groups_free_space()
9339 spin_unlock(&block_group->lock); in btrfs_account_ro_block_groups_free_space()
9343 factor = btrfs_bg_type_to_factor(block_group->flags); in btrfs_account_ro_block_groups_free_space()
9344 free_bytes += (block_group->key.offset - in btrfs_account_ro_block_groups_free_space()
9345 btrfs_block_group_used(&block_group->item)) * in btrfs_account_ro_block_groups_free_space()
9348 spin_unlock(&block_group->lock); in btrfs_account_ro_block_groups_free_space()
9384 struct btrfs_block_group_cache *block_group; in btrfs_can_relocate() local
9400 block_group = btrfs_lookup_block_group(fs_info, bytenr); in btrfs_can_relocate()
9403 if (!block_group) { in btrfs_can_relocate()
9411 min_free = btrfs_block_group_used(&block_group->item); in btrfs_can_relocate()
9417 space_info = block_group->space_info; in btrfs_can_relocate()
9429 if ((space_info->total_bytes != block_group->key.offset) && in btrfs_can_relocate()
9454 target = get_restripe_target(fs_info, block_group->flags); in btrfs_can_relocate()
9466 block_group->key.objectid); in btrfs_can_relocate()
9470 index = btrfs_bg_flags_to_raid_index(block_group->flags); in btrfs_can_relocate()
9518 block_group->key.objectid); in btrfs_can_relocate()
9522 btrfs_put_block_group(block_group); in btrfs_can_relocate()
9608 struct btrfs_block_group_cache *block_group; in btrfs_put_block_group_cache() local
9614 block_group = btrfs_lookup_first_block_group(info, last); in btrfs_put_block_group_cache()
9615 while (block_group) { in btrfs_put_block_group_cache()
9616 spin_lock(&block_group->lock); in btrfs_put_block_group_cache()
9617 if (block_group->iref) in btrfs_put_block_group_cache()
9619 spin_unlock(&block_group->lock); in btrfs_put_block_group_cache()
9620 block_group = next_block_group(info, block_group); in btrfs_put_block_group_cache()
9622 if (!block_group) { in btrfs_put_block_group_cache()
9629 inode = block_group->inode; in btrfs_put_block_group_cache()
9630 block_group->iref = 0; in btrfs_put_block_group_cache()
9631 block_group->inode = NULL; in btrfs_put_block_group_cache()
9632 spin_unlock(&block_group->lock); in btrfs_put_block_group_cache()
9633 ASSERT(block_group->io_ctl.inode == NULL); in btrfs_put_block_group_cache()
9635 last = block_group->key.objectid + block_group->key.offset; in btrfs_put_block_group_cache()
9636 btrfs_put_block_group(block_group); in btrfs_put_block_group_cache()
9647 struct btrfs_block_group_cache *block_group; in btrfs_free_block_groups() local
9663 block_group = list_first_entry(&info->unused_bgs, in btrfs_free_block_groups()
9666 list_del_init(&block_group->bg_list); in btrfs_free_block_groups()
9667 btrfs_put_block_group(block_group); in btrfs_free_block_groups()
9673 block_group = rb_entry(n, struct btrfs_block_group_cache, in btrfs_free_block_groups()
9675 rb_erase(&block_group->cache_node, in btrfs_free_block_groups()
9677 RB_CLEAR_NODE(&block_group->cache_node); in btrfs_free_block_groups()
9680 down_write(&block_group->space_info->groups_sem); in btrfs_free_block_groups()
9681 list_del(&block_group->list); in btrfs_free_block_groups()
9682 up_write(&block_group->space_info->groups_sem); in btrfs_free_block_groups()
9688 if (block_group->cached == BTRFS_CACHE_NO || in btrfs_free_block_groups()
9689 block_group->cached == BTRFS_CACHE_ERROR) in btrfs_free_block_groups()
9690 free_excluded_extents(block_group); in btrfs_free_block_groups()
9692 btrfs_remove_free_space_cache(block_group); in btrfs_free_block_groups()
9693 ASSERT(block_group->cached != BTRFS_CACHE_STARTED); in btrfs_free_block_groups()
9694 ASSERT(list_empty(&block_group->dirty_list)); in btrfs_free_block_groups()
9695 ASSERT(list_empty(&block_group->io_list)); in btrfs_free_block_groups()
9696 ASSERT(list_empty(&block_group->bg_list)); in btrfs_free_block_groups()
9697 ASSERT(atomic_read(&block_group->count) == 1); in btrfs_free_block_groups()
9698 btrfs_put_block_group(block_group); in btrfs_free_block_groups()
10077 struct btrfs_block_group_cache *block_group, *tmp; in btrfs_create_pending_block_groups() local
10085 list_for_each_entry_safe(block_group, tmp, &trans->new_bgs, bg_list) { in btrfs_create_pending_block_groups()
10089 spin_lock(&block_group->lock); in btrfs_create_pending_block_groups()
10090 memcpy(&item, &block_group->item, sizeof(item)); in btrfs_create_pending_block_groups()
10091 memcpy(&key, &block_group->key, sizeof(key)); in btrfs_create_pending_block_groups()
10092 spin_unlock(&block_group->lock); in btrfs_create_pending_block_groups()
10101 add_block_group_free_space(trans, block_group); in btrfs_create_pending_block_groups()
10104 list_del_init(&block_group->bg_list); in btrfs_create_pending_block_groups()
10207 struct btrfs_block_group_cache *block_group; in btrfs_remove_block_group() local
10219 block_group = btrfs_lookup_block_group(fs_info, group_start); in btrfs_remove_block_group()
10220 BUG_ON(!block_group); in btrfs_remove_block_group()
10221 BUG_ON(!block_group->ro); in btrfs_remove_block_group()
10223 trace_btrfs_remove_block_group(block_group); in btrfs_remove_block_group()
10228 free_excluded_extents(block_group); in btrfs_remove_block_group()
10229 btrfs_free_ref_tree_range(fs_info, block_group->key.objectid, in btrfs_remove_block_group()
10230 block_group->key.offset); in btrfs_remove_block_group()
10232 memcpy(&key, &block_group->key, sizeof(key)); in btrfs_remove_block_group()
10233 index = btrfs_bg_flags_to_raid_index(block_group->flags); in btrfs_remove_block_group()
10234 factor = btrfs_bg_type_to_factor(block_group->flags); in btrfs_remove_block_group()
10239 btrfs_return_cluster_to_free_space(block_group, cluster); in btrfs_remove_block_group()
10248 btrfs_return_cluster_to_free_space(block_group, cluster); in btrfs_remove_block_group()
10261 inode = lookup_free_space_inode(fs_info, block_group, path); in btrfs_remove_block_group()
10269 if (!list_empty(&block_group->io_list)) { in btrfs_remove_block_group()
10270 list_del_init(&block_group->io_list); in btrfs_remove_block_group()
10272 WARN_ON(!IS_ERR(inode) && inode != block_group->io_ctl.inode); in btrfs_remove_block_group()
10275 btrfs_wait_cache_io(trans, block_group, path); in btrfs_remove_block_group()
10276 btrfs_put_block_group(block_group); in btrfs_remove_block_group()
10280 if (!list_empty(&block_group->dirty_list)) { in btrfs_remove_block_group()
10281 list_del_init(&block_group->dirty_list); in btrfs_remove_block_group()
10282 btrfs_put_block_group(block_group); in btrfs_remove_block_group()
10295 spin_lock(&block_group->lock); in btrfs_remove_block_group()
10296 if (block_group->iref) { in btrfs_remove_block_group()
10297 block_group->iref = 0; in btrfs_remove_block_group()
10298 block_group->inode = NULL; in btrfs_remove_block_group()
10299 spin_unlock(&block_group->lock); in btrfs_remove_block_group()
10302 spin_unlock(&block_group->lock); in btrfs_remove_block_group()
10309 key.offset = block_group->key.objectid; in btrfs_remove_block_group()
10325 rb_erase(&block_group->cache_node, in btrfs_remove_block_group()
10327 RB_CLEAR_NODE(&block_group->cache_node); in btrfs_remove_block_group()
10329 if (fs_info->first_logical_byte == block_group->key.objectid) in btrfs_remove_block_group()
10333 down_write(&block_group->space_info->groups_sem); in btrfs_remove_block_group()
10338 list_del_init(&block_group->list); in btrfs_remove_block_group()
10339 if (list_empty(&block_group->space_info->block_groups[index])) { in btrfs_remove_block_group()
10340 kobj = block_group->space_info->block_group_kobjs[index]; in btrfs_remove_block_group()
10341 block_group->space_info->block_group_kobjs[index] = NULL; in btrfs_remove_block_group()
10342 clear_avail_alloc_bits(fs_info, block_group->flags); in btrfs_remove_block_group()
10344 up_write(&block_group->space_info->groups_sem); in btrfs_remove_block_group()
10350 if (block_group->has_caching_ctl) in btrfs_remove_block_group()
10351 caching_ctl = get_caching_control(block_group); in btrfs_remove_block_group()
10352 if (block_group->cached == BTRFS_CACHE_STARTED) in btrfs_remove_block_group()
10353 wait_block_group_cache_done(block_group); in btrfs_remove_block_group()
10354 if (block_group->has_caching_ctl) { in btrfs_remove_block_group()
10361 if (ctl->block_group == block_group) { in btrfs_remove_block_group()
10378 if (!list_empty(&block_group->dirty_list)) { in btrfs_remove_block_group()
10381 if (!list_empty(&block_group->io_list)) { in btrfs_remove_block_group()
10385 btrfs_remove_free_space_cache(block_group); in btrfs_remove_block_group()
10387 spin_lock(&block_group->space_info->lock); in btrfs_remove_block_group()
10388 list_del_init(&block_group->ro_list); in btrfs_remove_block_group()
10391 WARN_ON(block_group->space_info->total_bytes in btrfs_remove_block_group()
10392 < block_group->key.offset); in btrfs_remove_block_group()
10393 WARN_ON(block_group->space_info->bytes_readonly in btrfs_remove_block_group()
10394 < block_group->key.offset); in btrfs_remove_block_group()
10395 WARN_ON(block_group->space_info->disk_total in btrfs_remove_block_group()
10396 < block_group->key.offset * factor); in btrfs_remove_block_group()
10398 block_group->space_info->total_bytes -= block_group->key.offset; in btrfs_remove_block_group()
10399 block_group->space_info->bytes_readonly -= block_group->key.offset; in btrfs_remove_block_group()
10400 block_group->space_info->disk_total -= block_group->key.offset * factor; in btrfs_remove_block_group()
10402 spin_unlock(&block_group->space_info->lock); in btrfs_remove_block_group()
10404 memcpy(&key, &block_group->key, sizeof(key)); in btrfs_remove_block_group()
10411 spin_lock(&block_group->lock); in btrfs_remove_block_group()
10412 block_group->removed = 1; in btrfs_remove_block_group()
10436 remove_em = (atomic_read(&block_group->trimming) == 0); in btrfs_remove_block_group()
10456 spin_unlock(&block_group->lock); in btrfs_remove_block_group()
10476 ret = remove_block_group_free_space(trans, block_group); in btrfs_remove_block_group()
10480 btrfs_put_block_group(block_group); in btrfs_remove_block_group()
10481 btrfs_put_block_group(block_group); in btrfs_remove_block_group()
10542 struct btrfs_block_group_cache *block_group; in btrfs_delete_unused_bgs() local
10555 block_group = list_first_entry(&fs_info->unused_bgs, in btrfs_delete_unused_bgs()
10558 list_del_init(&block_group->bg_list); in btrfs_delete_unused_bgs()
10560 space_info = block_group->space_info; in btrfs_delete_unused_bgs()
10563 btrfs_put_block_group(block_group); in btrfs_delete_unused_bgs()
10572 spin_lock(&block_group->lock); in btrfs_delete_unused_bgs()
10573 if (block_group->reserved || block_group->pinned || in btrfs_delete_unused_bgs()
10574 btrfs_block_group_used(&block_group->item) || in btrfs_delete_unused_bgs()
10575 block_group->ro || in btrfs_delete_unused_bgs()
10576 list_is_singular(&block_group->list)) { in btrfs_delete_unused_bgs()
10583 trace_btrfs_skip_unused_block_group(block_group); in btrfs_delete_unused_bgs()
10584 spin_unlock(&block_group->lock); in btrfs_delete_unused_bgs()
10588 spin_unlock(&block_group->lock); in btrfs_delete_unused_bgs()
10591 ret = inc_block_group_ro(block_group, 0); in btrfs_delete_unused_bgs()
10603 block_group->key.objectid); in btrfs_delete_unused_bgs()
10605 btrfs_dec_block_group_ro(block_group); in btrfs_delete_unused_bgs()
10614 start = block_group->key.objectid; in btrfs_delete_unused_bgs()
10615 end = start + block_group->key.offset - 1; in btrfs_delete_unused_bgs()
10632 btrfs_dec_block_group_ro(block_group); in btrfs_delete_unused_bgs()
10639 btrfs_dec_block_group_ro(block_group); in btrfs_delete_unused_bgs()
10646 spin_lock(&block_group->lock); in btrfs_delete_unused_bgs()
10648 space_info->bytes_pinned -= block_group->pinned; in btrfs_delete_unused_bgs()
10649 space_info->bytes_readonly += block_group->pinned; in btrfs_delete_unused_bgs()
10651 -block_group->pinned, in btrfs_delete_unused_bgs()
10653 block_group->pinned = 0; in btrfs_delete_unused_bgs()
10655 spin_unlock(&block_group->lock); in btrfs_delete_unused_bgs()
10663 btrfs_get_block_group_trimming(block_group); in btrfs_delete_unused_bgs()
10669 ret = btrfs_remove_chunk(trans, block_group->key.objectid); in btrfs_delete_unused_bgs()
10673 btrfs_put_block_group_trimming(block_group); in btrfs_delete_unused_bgs()
10689 list_move(&block_group->bg_list, in btrfs_delete_unused_bgs()
10692 btrfs_get_block_group(block_group); in btrfs_delete_unused_bgs()
10698 btrfs_put_block_group(block_group); in btrfs_delete_unused_bgs()