• Home
  • Raw
  • Download

Lines Matching refs:cluster

920 	struct btrfs_free_cluster *cluster = NULL;  in write_cache_extent_entries()  local
927 cluster = list_entry(block_group->cluster_list.next, in write_cache_extent_entries()
932 if (!node && cluster) { in write_cache_extent_entries()
933 cluster_locked = cluster; in write_cache_extent_entries()
935 node = rb_first(&cluster->root); in write_cache_extent_entries()
936 cluster = NULL; in write_cache_extent_entries()
956 if (!node && cluster) { in write_cache_extent_entries()
957 node = rb_first(&cluster->root); in write_cache_extent_entries()
958 cluster_locked = cluster; in write_cache_extent_entries()
960 cluster = NULL; in write_cache_extent_entries()
2070 struct btrfs_free_cluster *cluster; in insert_into_bitmap() local
2074 cluster = list_entry(block_group->cluster_list.next, in insert_into_bitmap()
2077 spin_lock(&cluster->lock); in insert_into_bitmap()
2078 node = rb_first(&cluster->root); in insert_into_bitmap()
2080 spin_unlock(&cluster->lock); in insert_into_bitmap()
2086 spin_unlock(&cluster->lock); in insert_into_bitmap()
2096 spin_unlock(&cluster->lock); in insert_into_bitmap()
2529 struct btrfs_free_cluster *cluster) in __btrfs_return_cluster_to_free_space() argument
2535 spin_lock(&cluster->lock); in __btrfs_return_cluster_to_free_space()
2536 if (cluster->block_group != block_group) in __btrfs_return_cluster_to_free_space()
2539 cluster->block_group = NULL; in __btrfs_return_cluster_to_free_space()
2540 cluster->window_start = 0; in __btrfs_return_cluster_to_free_space()
2541 list_del_init(&cluster->block_group_list); in __btrfs_return_cluster_to_free_space()
2543 node = rb_first(&cluster->root); in __btrfs_return_cluster_to_free_space()
2549 rb_erase(&entry->offset_index, &cluster->root); in __btrfs_return_cluster_to_free_space()
2560 cluster->root = RB_ROOT; in __btrfs_return_cluster_to_free_space()
2563 spin_unlock(&cluster->lock); in __btrfs_return_cluster_to_free_space()
2597 struct btrfs_free_cluster *cluster; in btrfs_remove_free_space_cache() local
2603 cluster = list_entry(head, struct btrfs_free_cluster, in btrfs_remove_free_space_cache()
2606 WARN_ON(cluster->block_group != block_group); in btrfs_remove_free_space_cache()
2607 __btrfs_return_cluster_to_free_space(block_group, cluster); in btrfs_remove_free_space_cache()
2670 struct btrfs_free_cluster *cluster) in btrfs_return_cluster_to_free_space() argument
2676 spin_lock(&cluster->lock); in btrfs_return_cluster_to_free_space()
2678 block_group = cluster->block_group; in btrfs_return_cluster_to_free_space()
2680 spin_unlock(&cluster->lock); in btrfs_return_cluster_to_free_space()
2683 } else if (cluster->block_group != block_group) { in btrfs_return_cluster_to_free_space()
2685 spin_unlock(&cluster->lock); in btrfs_return_cluster_to_free_space()
2689 spin_unlock(&cluster->lock); in btrfs_return_cluster_to_free_space()
2695 ret = __btrfs_return_cluster_to_free_space(block_group, cluster); in btrfs_return_cluster_to_free_space()
2704 struct btrfs_free_cluster *cluster, in btrfs_alloc_from_bitmap() argument
2711 u64 search_start = cluster->window_start; in btrfs_alloc_from_bitmap()
2737 struct btrfs_free_cluster *cluster, u64 bytes, in btrfs_alloc_from_cluster() argument
2745 spin_lock(&cluster->lock); in btrfs_alloc_from_cluster()
2746 if (bytes > cluster->max_size) in btrfs_alloc_from_cluster()
2749 if (cluster->block_group != block_group) in btrfs_alloc_from_cluster()
2752 node = rb_first(&cluster->root); in btrfs_alloc_from_cluster()
2774 cluster, entry, bytes, in btrfs_alloc_from_cluster()
2775 cluster->window_start, in btrfs_alloc_from_cluster()
2785 cluster->window_start += bytes; in btrfs_alloc_from_cluster()
2794 rb_erase(&entry->offset_index, &cluster->root); in btrfs_alloc_from_cluster()
2798 spin_unlock(&cluster->lock); in btrfs_alloc_from_cluster()
2823 struct btrfs_free_cluster *cluster, in btrfs_bitmap_cluster() argument
2873 cluster->max_size = 0; in btrfs_bitmap_cluster()
2878 if (cluster->max_size < found_bits * ctl->unit) in btrfs_bitmap_cluster()
2879 cluster->max_size = found_bits * ctl->unit; in btrfs_bitmap_cluster()
2881 if (total_found < want_bits || cluster->max_size < cont1_bytes) { in btrfs_bitmap_cluster()
2886 cluster->window_start = start * ctl->unit + entry->offset; in btrfs_bitmap_cluster()
2888 ret = tree_insert_offset(&cluster->root, entry->offset, in btrfs_bitmap_cluster()
2892 trace_btrfs_setup_cluster(block_group, cluster, in btrfs_bitmap_cluster()
2904 struct btrfs_free_cluster *cluster, in setup_cluster_no_bitmap() argument
2961 cluster->window_start = first->offset; in setup_cluster_no_bitmap()
2978 ret = tree_insert_offset(&cluster->root, entry->offset, in setup_cluster_no_bitmap()
2984 cluster->max_size = max_extent; in setup_cluster_no_bitmap()
2985 trace_btrfs_setup_cluster(block_group, cluster, total_size, 0); in setup_cluster_no_bitmap()
2995 struct btrfs_free_cluster *cluster, in setup_cluster_bitmap() argument
3023 ret = btrfs_bitmap_cluster(block_group, entry, cluster, offset, in setup_cluster_bitmap()
3046 struct btrfs_free_cluster *cluster, in btrfs_find_space_cluster() argument
3083 spin_lock(&cluster->lock); in btrfs_find_space_cluster()
3086 if (cluster->block_group) { in btrfs_find_space_cluster()
3094 ret = setup_cluster_no_bitmap(block_group, cluster, &bitmaps, offset, in btrfs_find_space_cluster()
3098 ret = setup_cluster_bitmap(block_group, cluster, &bitmaps, in btrfs_find_space_cluster()
3108 list_add_tail(&cluster->block_group_list, in btrfs_find_space_cluster()
3110 cluster->block_group = block_group; in btrfs_find_space_cluster()
3115 spin_unlock(&cluster->lock); in btrfs_find_space_cluster()
3124 void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster) in btrfs_init_free_cluster() argument
3126 spin_lock_init(&cluster->lock); in btrfs_init_free_cluster()
3127 spin_lock_init(&cluster->refill_lock); in btrfs_init_free_cluster()
3128 cluster->root = RB_ROOT; in btrfs_init_free_cluster()
3129 cluster->max_size = 0; in btrfs_init_free_cluster()
3130 cluster->fragmented = false; in btrfs_init_free_cluster()
3131 INIT_LIST_HEAD(&cluster->block_group_list); in btrfs_init_free_cluster()
3132 cluster->block_group = NULL; in btrfs_init_free_cluster()