• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/btrfs/

Lines Matching defs:block_group

100 				struct btrfs_block_group_cache *block_group)
113 if (block_group->key.objectid < cache->key.objectid) {
115 } else if (block_group->key.objectid > cache->key.objectid) {
123 rb_link_node(&block_group->cache_node, parent, p);
124 rb_insert_color(&block_group->cache_node,
262 static u64 add_new_free_space(struct btrfs_block_group_cache *block_group,
280 ret = btrfs_add_free_space(block_group, start,
292 ret = btrfs_add_free_space(block_group, start, size);
301 struct btrfs_block_group_cache *block_group = data;
302 struct btrfs_fs_info *fs_info = block_group->fs_info;
303 struct btrfs_caching_control *caching_ctl = block_group->caching_ctl;
317 exclude_super_stripes(extent_root, block_group);
318 spin_lock(&block_group->space_info->lock);
319 block_group->space_info->bytes_readonly += block_group->bytes_super;
320 spin_unlock(&block_group->space_info->lock);
322 last = max_t(u64, block_group->key.objectid, BTRFS_SUPER_INFO_OFFSET);
374 if (key.objectid < block_group->key.objectid) {
379 if (key.objectid >= block_group->key.objectid +
380 block_group->key.offset)
384 total_found += add_new_free_space(block_group,
398 total_found += add_new_free_space(block_group, fs_info, last,
399 block_group->key.objectid +
400 block_group->key.offset);
403 spin_lock(&block_group->lock);
404 block_group->caching_ctl = NULL;
405 block_group->cached = BTRFS_CACHE_FINISHED;
406 spin_unlock(&block_group->lock);
412 free_excluded_extents(extent_root, block_group);
418 atomic_dec(&block_group->space_info->caching_threads);
419 btrfs_put_block_group(block_group);
441 caching_ctl->block_group = cache;
2615 struct btrfs_block_group_cache *block_group;
2618 block_group = btrfs_lookup_block_group(root->fs_info, bytenr);
2619 if (!block_group || block_group->ro)
2621 if (block_group)
2622 btrfs_put_block_group(block_group);
3796 cache = caching_ctl->block_group;
4392 struct btrfs_block_group_cache *block_group = NULL;
4432 if (last_ptr->block_group)
4445 block_group = btrfs_lookup_block_group(root->fs_info,
4454 if (block_group && block_group_bits(block_group, data) &&
4455 (block_group->cached != BTRFS_CACHE_NO ||
4458 if (list_empty(&block_group->list) ||
4459 block_group->ro) {
4466 btrfs_put_block_group(block_group);
4469 index = get_block_group_index(block_group);
4472 } else if (block_group) {
4473 btrfs_put_block_group(block_group);
4478 list_for_each_entry(block_group, &space_info->block_groups[index],
4483 btrfs_get_block_group(block_group);
4484 search_start = block_group->key.objectid;
4487 if (unlikely(block_group->cached == BTRFS_CACHE_NO)) {
4490 free_percent = btrfs_block_group_used(&block_group->item);
4493 block_group->key.offset);
4496 likely(!block_group->ro)) {
4497 ideal_cache_offset = block_group->key.objectid;
4510 ret = cache_block_group(block_group);
4523 cached = block_group_cache_done(block_group);
4527 if (unlikely(block_group->ro))
4545 if (last_ptr->block_group &&
4546 (last_ptr->block_group->ro ||
4547 !block_group_bits(last_ptr->block_group, data))) {
4552 offset = btrfs_alloc_from_cluster(block_group, last_ptr,
4566 if (!last_ptr_loop && last_ptr->block_group &&
4567 last_ptr->block_group != block_group) {
4569 btrfs_put_block_group(block_group);
4570 block_group = last_ptr->block_group;
4571 btrfs_get_block_group(block_group);
4576 search_start = block_group->key.objectid;
4598 block_group, last_ptr,
4606 offset = btrfs_alloc_from_cluster(block_group,
4619 wait_block_group_cache_progress(block_group,
4635 offset = btrfs_find_space_for_alloc(block_group, search_start,
4648 wait_block_group_cache_progress(block_group,
4659 btrfs_add_free_space(block_group, offset, num_bytes);
4665 block_group->key.objectid + block_group->key.offset) {
4666 btrfs_add_free_space(block_group, offset, num_bytes);
4674 btrfs_add_free_space(block_group, offset,
4678 ret = update_reserved_bytes(block_group, num_bytes, 1,
4681 btrfs_add_free_space(block_group, offset, num_bytes);
4690 btrfs_add_free_space(block_group, offset,
4697 BUG_ON(index != get_block_group_index(block_group));
4698 btrfs_put_block_group(block_group);
4788 trans->block_group = block_group->key.objectid;
4790 btrfs_put_block_group(block_group);
5061 struct btrfs_block_group_cache *block_group;
5066 block_group = btrfs_lookup_block_group(root->fs_info, ins->objectid);
5067 cache_block_group(block_group);
5068 caching_ctl = get_caching_control(block_group);
5071 BUG_ON(!block_group_cache_done(block_group));
5072 ret = btrfs_remove_free_space(block_group, start, num_bytes);
5081 ret = btrfs_remove_free_space(block_group,
5086 ret = btrfs_remove_free_space(block_group,
5101 ret = update_reserved_bytes(block_group, ins->offset, 1, 1);
5103 btrfs_put_block_group(block_group);
6067 struct btrfs_block_group_cache *block_group;
6074 block_group = btrfs_lookup_block_group(root->fs_info, bytenr);
6077 if (!block_group)
6081 if (!btrfs_block_group_used(&block_group->item))
6084 space_info = block_group->space_info;
6096 if ((space_info->total_bytes != block_group->key.offset) &&
6099 btrfs_block_group_used(&block_group->item) <
6119 u64 min_free = btrfs_block_group_used(&block_group->item);
6136 btrfs_put_block_group(block_group);
6178 struct btrfs_block_group_cache *block_group;
6194 block_group = rb_entry(n, struct btrfs_block_group_cache,
6196 rb_erase(&block_group->cache_node,
6200 down_write(&block_group->space_info->groups_sem);
6201 list_del(&block_group->list);
6202 up_write(&block_group->space_info->groups_sem);
6204 if (block_group->cached == BTRFS_CACHE_STARTED)
6205 wait_block_group_cache_done(block_group);
6207 btrfs_remove_free_space_cache(block_group);
6208 btrfs_put_block_group(block_group);
6448 struct btrfs_block_group_cache *block_group;
6455 block_group = btrfs_lookup_block_group(root->fs_info, group_start);
6456 BUG_ON(!block_group);
6457 BUG_ON(!block_group->ro);
6459 memcpy(&key, &block_group->key, sizeof(key));
6464 btrfs_return_cluster_to_free_space(block_group, cluster);
6473 btrfs_return_cluster_to_free_space(block_group, cluster);
6480 rb_erase(&block_group->cache_node,
6484 down_write(&block_group->space_info->groups_sem);
6489 list_del_init(&block_group->list);
6490 up_write(&block_group->space_info->groups_sem);
6492 if (block_group->cached == BTRFS_CACHE_STARTED)
6493 wait_block_group_cache_done(block_group);
6495 btrfs_remove_free_space_cache(block_group);
6497 spin_lock(&block_group->space_info->lock);
6498 block_group->space_info->total_bytes -= block_group->key.offset;
6499 block_group->space_info->bytes_readonly -= block_group->key.offset;
6500 spin_unlock(&block_group->space_info->lock);
6504 btrfs_put_block_group(block_group);
6505 btrfs_put_block_group(block_group);