btrfs: rename btrfs_block_group_cache
The type name is misleading, a single entry is named 'cache' while this normally means a collection of objects. Rename that everywhere. Also the identifier was quite long, making function prototypes harder to format. Suggested-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
		
							parent
							
								
									d49a2ddb15
								
							
						
					
					
						commit
						32da5386d9
					
				| @ -120,12 +120,12 @@ u64 btrfs_get_alloc_profile(struct btrfs_fs_info *fs_info, u64 orig_flags) | ||||
| 	return get_alloc_profile(fs_info, orig_flags); | ||||
| } | ||||
| 
 | ||||
| void btrfs_get_block_group(struct btrfs_block_group_cache *cache) | ||||
| void btrfs_get_block_group(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	atomic_inc(&cache->count); | ||||
| } | ||||
| 
 | ||||
| void btrfs_put_block_group(struct btrfs_block_group_cache *cache) | ||||
| void btrfs_put_block_group(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	if (atomic_dec_and_test(&cache->count)) { | ||||
| 		WARN_ON(cache->pinned > 0); | ||||
| @ -149,19 +149,18 @@ void btrfs_put_block_group(struct btrfs_block_group_cache *cache) | ||||
|  * This adds the block group to the fs_info rb tree for the block group cache | ||||
|  */ | ||||
| static int btrfs_add_block_group_cache(struct btrfs_fs_info *info, | ||||
| 				struct btrfs_block_group_cache *block_group) | ||||
| 				       struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct rb_node **p; | ||||
| 	struct rb_node *parent = NULL; | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 
 | ||||
| 	spin_lock(&info->block_group_cache_lock); | ||||
| 	p = &info->block_group_cache_tree.rb_node; | ||||
| 
 | ||||
| 	while (*p) { | ||||
| 		parent = *p; | ||||
| 		cache = rb_entry(parent, struct btrfs_block_group_cache, | ||||
| 				 cache_node); | ||||
| 		cache = rb_entry(parent, struct btrfs_block_group, cache_node); | ||||
| 		if (block_group->start < cache->start) { | ||||
| 			p = &(*p)->rb_left; | ||||
| 		} else if (block_group->start > cache->start) { | ||||
| @ -188,10 +187,10 @@ static int btrfs_add_block_group_cache(struct btrfs_fs_info *info, | ||||
|  * This will return the block group at or after bytenr if contains is 0, else | ||||
|  * it will return the block group that contains the bytenr | ||||
|  */ | ||||
| static struct btrfs_block_group_cache *block_group_cache_tree_search( | ||||
| static struct btrfs_block_group *block_group_cache_tree_search( | ||||
| 		struct btrfs_fs_info *info, u64 bytenr, int contains) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache, *ret = NULL; | ||||
| 	struct btrfs_block_group *cache, *ret = NULL; | ||||
| 	struct rb_node *n; | ||||
| 	u64 end, start; | ||||
| 
 | ||||
| @ -199,8 +198,7 @@ static struct btrfs_block_group_cache *block_group_cache_tree_search( | ||||
| 	n = info->block_group_cache_tree.rb_node; | ||||
| 
 | ||||
| 	while (n) { | ||||
| 		cache = rb_entry(n, struct btrfs_block_group_cache, | ||||
| 				 cache_node); | ||||
| 		cache = rb_entry(n, struct btrfs_block_group, cache_node); | ||||
| 		end = cache->start + cache->length - 1; | ||||
| 		start = cache->start; | ||||
| 
 | ||||
| @ -232,7 +230,7 @@ static struct btrfs_block_group_cache *block_group_cache_tree_search( | ||||
| /*
 | ||||
|  * Return the block group that starts at or after bytenr | ||||
|  */ | ||||
| struct btrfs_block_group_cache *btrfs_lookup_first_block_group( | ||||
| struct btrfs_block_group *btrfs_lookup_first_block_group( | ||||
| 		struct btrfs_fs_info *info, u64 bytenr) | ||||
| { | ||||
| 	return block_group_cache_tree_search(info, bytenr, 0); | ||||
| @ -241,14 +239,14 @@ struct btrfs_block_group_cache *btrfs_lookup_first_block_group( | ||||
| /*
 | ||||
|  * Return the block group that contains the given bytenr | ||||
|  */ | ||||
| struct btrfs_block_group_cache *btrfs_lookup_block_group( | ||||
| struct btrfs_block_group *btrfs_lookup_block_group( | ||||
| 		struct btrfs_fs_info *info, u64 bytenr) | ||||
| { | ||||
| 	return block_group_cache_tree_search(info, bytenr, 1); | ||||
| } | ||||
| 
 | ||||
| struct btrfs_block_group_cache *btrfs_next_block_group( | ||||
| 		struct btrfs_block_group_cache *cache) | ||||
| struct btrfs_block_group *btrfs_next_block_group( | ||||
| 		struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = cache->fs_info; | ||||
| 	struct rb_node *node; | ||||
| @ -266,8 +264,7 @@ struct btrfs_block_group_cache *btrfs_next_block_group( | ||||
| 	node = rb_next(&cache->cache_node); | ||||
| 	btrfs_put_block_group(cache); | ||||
| 	if (node) { | ||||
| 		cache = rb_entry(node, struct btrfs_block_group_cache, | ||||
| 				 cache_node); | ||||
| 		cache = rb_entry(node, struct btrfs_block_group, cache_node); | ||||
| 		btrfs_get_block_group(cache); | ||||
| 	} else | ||||
| 		cache = NULL; | ||||
| @ -277,7 +274,7 @@ struct btrfs_block_group_cache *btrfs_next_block_group( | ||||
| 
 | ||||
| bool btrfs_inc_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *bg; | ||||
| 	struct btrfs_block_group *bg; | ||||
| 	bool ret = true; | ||||
| 
 | ||||
| 	bg = btrfs_lookup_block_group(fs_info, bytenr); | ||||
| @ -300,7 +297,7 @@ bool btrfs_inc_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr) | ||||
| 
 | ||||
| void btrfs_dec_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *bg; | ||||
| 	struct btrfs_block_group *bg; | ||||
| 
 | ||||
| 	bg = btrfs_lookup_block_group(fs_info, bytenr); | ||||
| 	ASSERT(bg); | ||||
| @ -314,7 +311,7 @@ void btrfs_dec_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr) | ||||
| 	btrfs_put_block_group(bg); | ||||
| } | ||||
| 
 | ||||
| void btrfs_wait_nocow_writers(struct btrfs_block_group_cache *bg) | ||||
| void btrfs_wait_nocow_writers(struct btrfs_block_group *bg) | ||||
| { | ||||
| 	wait_var_event(&bg->nocow_writers, !atomic_read(&bg->nocow_writers)); | ||||
| } | ||||
| @ -322,7 +319,7 @@ void btrfs_wait_nocow_writers(struct btrfs_block_group_cache *bg) | ||||
| void btrfs_dec_block_group_reservations(struct btrfs_fs_info *fs_info, | ||||
| 					const u64 start) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *bg; | ||||
| 	struct btrfs_block_group *bg; | ||||
| 
 | ||||
| 	bg = btrfs_lookup_block_group(fs_info, start); | ||||
| 	ASSERT(bg); | ||||
| @ -331,7 +328,7 @@ void btrfs_dec_block_group_reservations(struct btrfs_fs_info *fs_info, | ||||
| 	btrfs_put_block_group(bg); | ||||
| } | ||||
| 
 | ||||
| void btrfs_wait_block_group_reservations(struct btrfs_block_group_cache *bg) | ||||
| void btrfs_wait_block_group_reservations(struct btrfs_block_group *bg) | ||||
| { | ||||
| 	struct btrfs_space_info *space_info = bg->space_info; | ||||
| 
 | ||||
| @ -357,7 +354,7 @@ void btrfs_wait_block_group_reservations(struct btrfs_block_group_cache *bg) | ||||
| } | ||||
| 
 | ||||
| struct btrfs_caching_control *btrfs_get_caching_control( | ||||
| 		struct btrfs_block_group_cache *cache) | ||||
| 		struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_caching_control *ctl; | ||||
| 
 | ||||
| @ -392,7 +389,7 @@ void btrfs_put_caching_control(struct btrfs_caching_control *ctl) | ||||
|  * Callers of this must check if cache->cached == BTRFS_CACHE_ERROR before using | ||||
|  * any of the information in this block group. | ||||
|  */ | ||||
| void btrfs_wait_block_group_cache_progress(struct btrfs_block_group_cache *cache, | ||||
| void btrfs_wait_block_group_cache_progress(struct btrfs_block_group *cache, | ||||
| 					   u64 num_bytes) | ||||
| { | ||||
| 	struct btrfs_caching_control *caching_ctl; | ||||
| @ -401,13 +398,13 @@ void btrfs_wait_block_group_cache_progress(struct btrfs_block_group_cache *cache | ||||
| 	if (!caching_ctl) | ||||
| 		return; | ||||
| 
 | ||||
| 	wait_event(caching_ctl->wait, btrfs_block_group_cache_done(cache) || | ||||
| 	wait_event(caching_ctl->wait, btrfs_block_group_done(cache) || | ||||
| 		   (cache->free_space_ctl->free_space >= num_bytes)); | ||||
| 
 | ||||
| 	btrfs_put_caching_control(caching_ctl); | ||||
| } | ||||
| 
 | ||||
| int btrfs_wait_block_group_cache_done(struct btrfs_block_group_cache *cache) | ||||
| int btrfs_wait_block_group_cache_done(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_caching_control *caching_ctl; | ||||
| 	int ret = 0; | ||||
| @ -416,7 +413,7 @@ int btrfs_wait_block_group_cache_done(struct btrfs_block_group_cache *cache) | ||||
| 	if (!caching_ctl) | ||||
| 		return (cache->cached == BTRFS_CACHE_ERROR) ? -EIO : 0; | ||||
| 
 | ||||
| 	wait_event(caching_ctl->wait, btrfs_block_group_cache_done(cache)); | ||||
| 	wait_event(caching_ctl->wait, btrfs_block_group_done(cache)); | ||||
| 	if (cache->cached == BTRFS_CACHE_ERROR) | ||||
| 		ret = -EIO; | ||||
| 	btrfs_put_caching_control(caching_ctl); | ||||
| @ -424,7 +421,7 @@ int btrfs_wait_block_group_cache_done(struct btrfs_block_group_cache *cache) | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_BTRFS_DEBUG | ||||
| static void fragment_free_space(struct btrfs_block_group_cache *block_group) | ||||
| static void fragment_free_space(struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| 	u64 start = block_group->start; | ||||
| @ -450,8 +447,7 @@ static void fragment_free_space(struct btrfs_block_group_cache *block_group) | ||||
|  * used yet since their free space will be released as soon as the transaction | ||||
|  * commits. | ||||
|  */ | ||||
| u64 add_new_free_space(struct btrfs_block_group_cache *block_group, | ||||
| 		       u64 start, u64 end) | ||||
| u64 add_new_free_space(struct btrfs_block_group *block_group, u64 start, u64 end) | ||||
| { | ||||
| 	struct btrfs_fs_info *info = block_group->fs_info; | ||||
| 	u64 extent_start, extent_end, size, total_added = 0; | ||||
| @ -491,7 +487,7 @@ u64 add_new_free_space(struct btrfs_block_group_cache *block_group, | ||||
| 
 | ||||
| static int load_extent_tree_free(struct btrfs_caching_control *caching_ctl) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group = caching_ctl->block_group; | ||||
| 	struct btrfs_block_group *block_group = caching_ctl->block_group; | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| 	struct btrfs_root *extent_root = fs_info->extent_root; | ||||
| 	struct btrfs_path *path; | ||||
| @ -626,7 +622,7 @@ out: | ||||
| 
 | ||||
| static noinline void caching_thread(struct btrfs_work *work) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_fs_info *fs_info; | ||||
| 	struct btrfs_caching_control *caching_ctl; | ||||
| 	int ret; | ||||
| @ -674,8 +670,7 @@ static noinline void caching_thread(struct btrfs_work *work) | ||||
| 	btrfs_put_block_group(block_group); | ||||
| } | ||||
| 
 | ||||
| int btrfs_cache_block_group(struct btrfs_block_group_cache *cache, | ||||
| 			    int load_cache_only) | ||||
| int btrfs_cache_block_group(struct btrfs_block_group *cache, int load_cache_only) | ||||
| { | ||||
| 	DEFINE_WAIT(wait); | ||||
| 	struct btrfs_fs_info *fs_info = cache->fs_info; | ||||
| @ -867,7 +862,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans, | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	struct btrfs_root *root = fs_info->extent_root; | ||||
| 	struct btrfs_path *path; | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_free_cluster *cluster; | ||||
| 	struct btrfs_root *tree_root = fs_info->tree_root; | ||||
| 	struct btrfs_key key; | ||||
| @ -1185,7 +1180,7 @@ struct btrfs_trans_handle *btrfs_start_trans_remove_block_group( | ||||
|  * data in this block group. That check should be done by relocation routine, | ||||
|  * not this function. | ||||
|  */ | ||||
| static int inc_block_group_ro(struct btrfs_block_group_cache *cache, int force) | ||||
| static int inc_block_group_ro(struct btrfs_block_group *cache, int force) | ||||
| { | ||||
| 	struct btrfs_space_info *sinfo = cache->space_info; | ||||
| 	u64 num_bytes; | ||||
| @ -1251,7 +1246,7 @@ out: | ||||
|  */ | ||||
| void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_space_info *space_info; | ||||
| 	struct btrfs_trans_handle *trans; | ||||
| 	int ret = 0; | ||||
| @ -1265,7 +1260,7 @@ void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info) | ||||
| 		int trimming; | ||||
| 
 | ||||
| 		block_group = list_first_entry(&fs_info->unused_bgs, | ||||
| 					       struct btrfs_block_group_cache, | ||||
| 					       struct btrfs_block_group, | ||||
| 					       bg_list); | ||||
| 		list_del_init(&block_group->bg_list); | ||||
| 
 | ||||
| @ -1413,7 +1408,7 @@ next: | ||||
| 	spin_unlock(&fs_info->unused_bgs_lock); | ||||
| } | ||||
| 
 | ||||
| void btrfs_mark_bg_unused(struct btrfs_block_group_cache *bg) | ||||
| void btrfs_mark_bg_unused(struct btrfs_block_group *bg) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = bg->fs_info; | ||||
| 
 | ||||
| @ -1521,7 +1516,7 @@ static void set_avail_alloc_bits(struct btrfs_fs_info *fs_info, u64 flags) | ||||
| 	write_sequnlock(&fs_info->profiles_lock); | ||||
| } | ||||
| 
 | ||||
| static int exclude_super_stripes(struct btrfs_block_group_cache *cache) | ||||
| static int exclude_super_stripes(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = cache->fs_info; | ||||
| 	u64 bytenr; | ||||
| @ -1576,7 +1571,7 @@ static int exclude_super_stripes(struct btrfs_block_group_cache *cache) | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static void link_block_group(struct btrfs_block_group_cache *cache) | ||||
| static void link_block_group(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_space_info *space_info = cache->space_info; | ||||
| 	int index = btrfs_bg_flags_to_raid_index(cache->flags); | ||||
| @ -1592,10 +1587,10 @@ static void link_block_group(struct btrfs_block_group_cache *cache) | ||||
| 		btrfs_sysfs_add_block_group_type(cache); | ||||
| } | ||||
| 
 | ||||
| static struct btrfs_block_group_cache *btrfs_create_block_group_cache( | ||||
| static struct btrfs_block_group *btrfs_create_block_group_cache( | ||||
| 		struct btrfs_fs_info *fs_info, u64 start, u64 size) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 
 | ||||
| 	cache = kzalloc(sizeof(*cache), GFP_NOFS); | ||||
| 	if (!cache) | ||||
| @ -1640,7 +1635,7 @@ static int check_chunk_block_group_mappings(struct btrfs_fs_info *fs_info) | ||||
| { | ||||
| 	struct extent_map_tree *map_tree = &fs_info->mapping_tree; | ||||
| 	struct extent_map *em; | ||||
| 	struct btrfs_block_group_cache *bg; | ||||
| 	struct btrfs_block_group *bg; | ||||
| 	u64 start = 0; | ||||
| 	int ret = 0; | ||||
| 
 | ||||
| @ -1692,7 +1687,7 @@ static int read_one_block_group(struct btrfs_fs_info *info, | ||||
| 				int need_clear) | ||||
| { | ||||
| 	struct extent_buffer *leaf = path->nodes[0]; | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	struct btrfs_space_info *space_info; | ||||
| 	struct btrfs_block_group_item bgi; | ||||
| 	const bool mixed = btrfs_fs_incompat(info, MIXED_GROUPS); | ||||
| @ -1792,7 +1787,7 @@ int btrfs_read_block_groups(struct btrfs_fs_info *info) | ||||
| { | ||||
| 	struct btrfs_path *path; | ||||
| 	int ret; | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	struct btrfs_space_info *space_info; | ||||
| 	struct btrfs_key key; | ||||
| 	int need_clear = 0; | ||||
| @ -1860,7 +1855,7 @@ error: | ||||
| void btrfs_create_pending_block_groups(struct btrfs_trans_handle *trans) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_root *extent_root = fs_info->extent_root; | ||||
| 	struct btrfs_block_group_item item; | ||||
| 	struct btrfs_key key; | ||||
| @ -1871,7 +1866,7 @@ void btrfs_create_pending_block_groups(struct btrfs_trans_handle *trans) | ||||
| 
 | ||||
| 	while (!list_empty(&trans->new_bgs)) { | ||||
| 		block_group = list_first_entry(&trans->new_bgs, | ||||
| 					       struct btrfs_block_group_cache, | ||||
| 					       struct btrfs_block_group, | ||||
| 					       bg_list); | ||||
| 		if (ret) | ||||
| 			goto next; | ||||
| @ -1906,7 +1901,7 @@ int btrfs_make_block_group(struct btrfs_trans_handle *trans, u64 bytes_used, | ||||
| 			   u64 type, u64 chunk_offset, u64 size) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	int ret; | ||||
| 
 | ||||
| 	btrfs_set_log_full_commit(trans); | ||||
| @ -2022,7 +2017,7 @@ static u64 update_block_group_flags(struct btrfs_fs_info *fs_info, u64 flags) | ||||
| 	return flags; | ||||
| } | ||||
| 
 | ||||
| int btrfs_inc_block_group_ro(struct btrfs_block_group_cache *cache) | ||||
| int btrfs_inc_block_group_ro(struct btrfs_block_group *cache) | ||||
| 
 | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = cache->fs_info; | ||||
| @ -2092,7 +2087,7 @@ out: | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| void btrfs_dec_block_group_ro(struct btrfs_block_group_cache *cache) | ||||
| void btrfs_dec_block_group_ro(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_space_info *sinfo = cache->space_info; | ||||
| 	u64 num_bytes; | ||||
| @ -2113,7 +2108,7 @@ void btrfs_dec_block_group_ro(struct btrfs_block_group_cache *cache) | ||||
| 
 | ||||
| static int write_one_cache_group(struct btrfs_trans_handle *trans, | ||||
| 				 struct btrfs_path *path, | ||||
| 				 struct btrfs_block_group_cache *cache) | ||||
| 				 struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	int ret; | ||||
| @ -2148,7 +2143,7 @@ fail: | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| static int cache_save_setup(struct btrfs_block_group_cache *block_group, | ||||
| static int cache_save_setup(struct btrfs_block_group *block_group, | ||||
| 			    struct btrfs_trans_handle *trans, | ||||
| 			    struct btrfs_path *path) | ||||
| { | ||||
| @ -2312,7 +2307,7 @@ out: | ||||
| int btrfs_setup_space_cache(struct btrfs_trans_handle *trans) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	struct btrfs_block_group_cache *cache, *tmp; | ||||
| 	struct btrfs_block_group *cache, *tmp; | ||||
| 	struct btrfs_transaction *cur_trans = trans->transaction; | ||||
| 	struct btrfs_path *path; | ||||
| 
 | ||||
| @ -2350,7 +2345,7 @@ int btrfs_setup_space_cache(struct btrfs_trans_handle *trans) | ||||
| int btrfs_start_dirty_block_groups(struct btrfs_trans_handle *trans) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	struct btrfs_transaction *cur_trans = trans->transaction; | ||||
| 	int ret = 0; | ||||
| 	int should_put; | ||||
| @ -2387,8 +2382,7 @@ again: | ||||
| 	while (!list_empty(&dirty)) { | ||||
| 		bool drop_reserve = true; | ||||
| 
 | ||||
| 		cache = list_first_entry(&dirty, | ||||
| 					 struct btrfs_block_group_cache, | ||||
| 		cache = list_first_entry(&dirty, struct btrfs_block_group, | ||||
| 					 dirty_list); | ||||
| 		/*
 | ||||
| 		 * This can happen if something re-dirties a block group that | ||||
| @ -2513,7 +2507,7 @@ again: | ||||
| int btrfs_write_dirty_block_groups(struct btrfs_trans_handle *trans) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	struct btrfs_transaction *cur_trans = trans->transaction; | ||||
| 	int ret = 0; | ||||
| 	int should_put; | ||||
| @ -2543,7 +2537,7 @@ int btrfs_write_dirty_block_groups(struct btrfs_trans_handle *trans) | ||||
| 	spin_lock(&cur_trans->dirty_bgs_lock); | ||||
| 	while (!list_empty(&cur_trans->dirty_bgs)) { | ||||
| 		cache = list_first_entry(&cur_trans->dirty_bgs, | ||||
| 					 struct btrfs_block_group_cache, | ||||
| 					 struct btrfs_block_group, | ||||
| 					 dirty_list); | ||||
| 
 | ||||
| 		/*
 | ||||
| @ -2625,7 +2619,7 @@ int btrfs_write_dirty_block_groups(struct btrfs_trans_handle *trans) | ||||
| 	 * to use it without any locking | ||||
| 	 */ | ||||
| 	while (!list_empty(io)) { | ||||
| 		cache = list_first_entry(io, struct btrfs_block_group_cache, | ||||
| 		cache = list_first_entry(io, struct btrfs_block_group, | ||||
| 					 io_list); | ||||
| 		list_del_init(&cache->io_list); | ||||
| 		btrfs_wait_cache_io(trans, cache, path); | ||||
| @ -2640,7 +2634,7 @@ int btrfs_update_block_group(struct btrfs_trans_handle *trans, | ||||
| 			     u64 bytenr, u64 num_bytes, int alloc) | ||||
| { | ||||
| 	struct btrfs_fs_info *info = trans->fs_info; | ||||
| 	struct btrfs_block_group_cache *cache = NULL; | ||||
| 	struct btrfs_block_group *cache = NULL; | ||||
| 	u64 total = num_bytes; | ||||
| 	u64 old_val; | ||||
| 	u64 byte_in_group; | ||||
| @ -2671,7 +2665,7 @@ int btrfs_update_block_group(struct btrfs_trans_handle *trans, | ||||
| 		 * is because we need the unpinning stage to actually add the | ||||
| 		 * space back to the block group, otherwise we will leak space. | ||||
| 		 */ | ||||
| 		if (!alloc && !btrfs_block_group_cache_done(cache)) | ||||
| 		if (!alloc && !btrfs_block_group_done(cache)) | ||||
| 			btrfs_cache_block_group(cache, 1); | ||||
| 
 | ||||
| 		byte_in_group = bytenr - cache->start; | ||||
| @ -2755,7 +2749,7 @@ int btrfs_update_block_group(struct btrfs_trans_handle *trans, | ||||
|  * reservation and the block group has become read only we cannot make the | ||||
|  * reservation and return -EAGAIN, otherwise this function always succeeds. | ||||
|  */ | ||||
| int btrfs_add_reserved_bytes(struct btrfs_block_group_cache *cache, | ||||
| int btrfs_add_reserved_bytes(struct btrfs_block_group *cache, | ||||
| 			     u64 ram_bytes, u64 num_bytes, int delalloc) | ||||
| { | ||||
| 	struct btrfs_space_info *space_info = cache->space_info; | ||||
| @ -2791,7 +2785,7 @@ int btrfs_add_reserved_bytes(struct btrfs_block_group_cache *cache, | ||||
|  * A and before transaction A commits you free that leaf, you call this with | ||||
|  * reserve set to 0 in order to clear the reservation. | ||||
|  */ | ||||
| void btrfs_free_reserved_bytes(struct btrfs_block_group_cache *cache, | ||||
| void btrfs_free_reserved_bytes(struct btrfs_block_group *cache, | ||||
| 			       u64 num_bytes, int delalloc) | ||||
| { | ||||
| 	struct btrfs_space_info *space_info = cache->space_info; | ||||
| @ -3054,7 +3048,7 @@ void check_system_chunk(struct btrfs_trans_handle *trans, u64 type) | ||||
| 
 | ||||
| void btrfs_put_block_group_cache(struct btrfs_fs_info *info) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	u64 last = 0; | ||||
| 
 | ||||
| 	while (1) { | ||||
| @ -3094,7 +3088,7 @@ void btrfs_put_block_group_cache(struct btrfs_fs_info *info) | ||||
|  */ | ||||
| int btrfs_free_block_groups(struct btrfs_fs_info *info) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_space_info *space_info; | ||||
| 	struct btrfs_caching_control *caching_ctl; | ||||
| 	struct rb_node *n; | ||||
| @ -3111,7 +3105,7 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info) | ||||
| 	spin_lock(&info->unused_bgs_lock); | ||||
| 	while (!list_empty(&info->unused_bgs)) { | ||||
| 		block_group = list_first_entry(&info->unused_bgs, | ||||
| 					       struct btrfs_block_group_cache, | ||||
| 					       struct btrfs_block_group, | ||||
| 					       bg_list); | ||||
| 		list_del_init(&block_group->bg_list); | ||||
| 		btrfs_put_block_group(block_group); | ||||
| @ -3120,7 +3114,7 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info) | ||||
| 
 | ||||
| 	spin_lock(&info->block_group_cache_lock); | ||||
| 	while ((n = rb_last(&info->block_group_cache_tree)) != NULL) { | ||||
| 		block_group = rb_entry(n, struct btrfs_block_group_cache, | ||||
| 		block_group = rb_entry(n, struct btrfs_block_group, | ||||
| 				       cache_node); | ||||
| 		rb_erase(&block_group->cache_node, | ||||
| 			 &info->block_group_cache_tree); | ||||
|  | ||||
| @ -34,7 +34,7 @@ struct btrfs_caching_control { | ||||
| 	struct mutex mutex; | ||||
| 	wait_queue_head_t wait; | ||||
| 	struct btrfs_work work; | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	u64 progress; | ||||
| 	refcount_t count; | ||||
| }; | ||||
| @ -42,7 +42,7 @@ struct btrfs_caching_control { | ||||
| /* Once caching_thread() finds this much free space, it will wake up waiters. */ | ||||
| #define CACHING_CTL_WAKE_UP SZ_2M | ||||
| 
 | ||||
| struct btrfs_block_group_cache { | ||||
| struct btrfs_block_group { | ||||
| 	struct btrfs_fs_info *fs_info; | ||||
| 	struct inode *inode; | ||||
| 	spinlock_t lock; | ||||
| @ -160,7 +160,7 @@ struct btrfs_block_group_cache { | ||||
| 
 | ||||
| #ifdef CONFIG_BTRFS_DEBUG | ||||
| static inline int btrfs_should_fragment_free_space( | ||||
| 		struct btrfs_block_group_cache *block_group) | ||||
| 		struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| 
 | ||||
| @ -171,29 +171,29 @@ static inline int btrfs_should_fragment_free_space( | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| struct btrfs_block_group_cache *btrfs_lookup_first_block_group( | ||||
| struct btrfs_block_group *btrfs_lookup_first_block_group( | ||||
| 		struct btrfs_fs_info *info, u64 bytenr); | ||||
| struct btrfs_block_group_cache *btrfs_lookup_block_group( | ||||
| struct btrfs_block_group *btrfs_lookup_block_group( | ||||
| 		struct btrfs_fs_info *info, u64 bytenr); | ||||
| struct btrfs_block_group_cache *btrfs_next_block_group( | ||||
| 		struct btrfs_block_group_cache *cache); | ||||
| void btrfs_get_block_group(struct btrfs_block_group_cache *cache); | ||||
| void btrfs_put_block_group(struct btrfs_block_group_cache *cache); | ||||
| struct btrfs_block_group *btrfs_next_block_group( | ||||
| 		struct btrfs_block_group *cache); | ||||
| void btrfs_get_block_group(struct btrfs_block_group *cache); | ||||
| void btrfs_put_block_group(struct btrfs_block_group *cache); | ||||
| void btrfs_dec_block_group_reservations(struct btrfs_fs_info *fs_info, | ||||
| 					const u64 start); | ||||
| void btrfs_wait_block_group_reservations(struct btrfs_block_group_cache *bg); | ||||
| void btrfs_wait_block_group_reservations(struct btrfs_block_group *bg); | ||||
| bool btrfs_inc_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr); | ||||
| void btrfs_dec_nocow_writers(struct btrfs_fs_info *fs_info, u64 bytenr); | ||||
| void btrfs_wait_nocow_writers(struct btrfs_block_group_cache *bg); | ||||
| void btrfs_wait_block_group_cache_progress(struct btrfs_block_group_cache *cache, | ||||
| void btrfs_wait_nocow_writers(struct btrfs_block_group *bg); | ||||
| void btrfs_wait_block_group_cache_progress(struct btrfs_block_group *cache, | ||||
| 				           u64 num_bytes); | ||||
| int btrfs_wait_block_group_cache_done(struct btrfs_block_group_cache *cache); | ||||
| int btrfs_cache_block_group(struct btrfs_block_group_cache *cache, | ||||
| int btrfs_wait_block_group_cache_done(struct btrfs_block_group *cache); | ||||
| int btrfs_cache_block_group(struct btrfs_block_group *cache, | ||||
| 			    int load_cache_only); | ||||
| void btrfs_put_caching_control(struct btrfs_caching_control *ctl); | ||||
| struct btrfs_caching_control *btrfs_get_caching_control( | ||||
| 		struct btrfs_block_group_cache *cache); | ||||
| u64 add_new_free_space(struct btrfs_block_group_cache *block_group, | ||||
| 		struct btrfs_block_group *cache); | ||||
| u64 add_new_free_space(struct btrfs_block_group *block_group, | ||||
| 		       u64 start, u64 end); | ||||
| struct btrfs_trans_handle *btrfs_start_trans_remove_block_group( | ||||
| 				struct btrfs_fs_info *fs_info, | ||||
| @ -201,21 +201,21 @@ struct btrfs_trans_handle *btrfs_start_trans_remove_block_group( | ||||
| int btrfs_remove_block_group(struct btrfs_trans_handle *trans, | ||||
| 			     u64 group_start, struct extent_map *em); | ||||
| void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info); | ||||
| void btrfs_mark_bg_unused(struct btrfs_block_group_cache *bg); | ||||
| void btrfs_mark_bg_unused(struct btrfs_block_group *bg); | ||||
| int btrfs_read_block_groups(struct btrfs_fs_info *info); | ||||
| int btrfs_make_block_group(struct btrfs_trans_handle *trans, u64 bytes_used, | ||||
| 			   u64 type, u64 chunk_offset, u64 size); | ||||
| void btrfs_create_pending_block_groups(struct btrfs_trans_handle *trans); | ||||
| int btrfs_inc_block_group_ro(struct btrfs_block_group_cache *cache); | ||||
| void btrfs_dec_block_group_ro(struct btrfs_block_group_cache *cache); | ||||
| int btrfs_inc_block_group_ro(struct btrfs_block_group *cache); | ||||
| void btrfs_dec_block_group_ro(struct btrfs_block_group *cache); | ||||
| int btrfs_start_dirty_block_groups(struct btrfs_trans_handle *trans); | ||||
| int btrfs_write_dirty_block_groups(struct btrfs_trans_handle *trans); | ||||
| int btrfs_setup_space_cache(struct btrfs_trans_handle *trans); | ||||
| int btrfs_update_block_group(struct btrfs_trans_handle *trans, | ||||
| 			     u64 bytenr, u64 num_bytes, int alloc); | ||||
| int btrfs_add_reserved_bytes(struct btrfs_block_group_cache *cache, | ||||
| int btrfs_add_reserved_bytes(struct btrfs_block_group *cache, | ||||
| 			     u64 ram_bytes, u64 num_bytes, int delalloc); | ||||
| void btrfs_free_reserved_bytes(struct btrfs_block_group_cache *cache, | ||||
| void btrfs_free_reserved_bytes(struct btrfs_block_group *cache, | ||||
| 			       u64 num_bytes, int delalloc); | ||||
| int btrfs_chunk_alloc(struct btrfs_trans_handle *trans, u64 flags, | ||||
| 		      enum btrfs_chunk_alloc_enum force); | ||||
| @ -240,8 +240,7 @@ static inline u64 btrfs_system_alloc_profile(struct btrfs_fs_info *fs_info) | ||||
| 	return btrfs_get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_SYSTEM); | ||||
| } | ||||
| 
 | ||||
| static inline int btrfs_block_group_cache_done( | ||||
| 		struct btrfs_block_group_cache *cache) | ||||
| static inline int btrfs_block_group_done(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	smp_mb(); | ||||
| 	return cache->cached == BTRFS_CACHE_FINISHED || | ||||
|  | ||||
| @ -39,7 +39,7 @@ struct btrfs_transaction; | ||||
| struct btrfs_pending_snapshot; | ||||
| struct btrfs_delayed_ref_root; | ||||
| struct btrfs_space_info; | ||||
| struct btrfs_block_group_cache; | ||||
| struct btrfs_block_group; | ||||
| extern struct kmem_cache *btrfs_trans_handle_cachep; | ||||
| extern struct kmem_cache *btrfs_bit_radix_cachep; | ||||
| extern struct kmem_cache *btrfs_path_cachep; | ||||
| @ -415,7 +415,7 @@ struct btrfs_free_cluster { | ||||
| 	/* We did a full search and couldn't create a cluster */ | ||||
| 	bool fragmented; | ||||
| 
 | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	/*
 | ||||
| 	 * when a cluster is allocated from a block group, we put the | ||||
| 	 * cluster onto a list in the block group so that it can | ||||
| @ -478,8 +478,8 @@ struct btrfs_swapfile_pin { | ||||
| 	void *ptr; | ||||
| 	struct inode *inode; | ||||
| 	/*
 | ||||
| 	 * If true, ptr points to a struct btrfs_block_group_cache. Otherwise, | ||||
| 	 * ptr points to a struct btrfs_device. | ||||
| 	 * If true, ptr points to a struct btrfs_block_group. Otherwise, ptr | ||||
| 	 * points to a struct btrfs_device. | ||||
| 	 */ | ||||
| 	bool is_block_group; | ||||
| }; | ||||
| @ -2401,7 +2401,7 @@ static inline u64 btrfs_calc_metadata_size(struct btrfs_fs_info *fs_info, | ||||
| 
 | ||||
| int btrfs_add_excluded_extent(struct btrfs_fs_info *fs_info, | ||||
| 			      u64 start, u64 num_bytes); | ||||
| void btrfs_free_excluded_extents(struct btrfs_block_group_cache *cache); | ||||
| void btrfs_free_excluded_extents(struct btrfs_block_group *cache); | ||||
| int btrfs_run_delayed_refs(struct btrfs_trans_handle *trans, | ||||
| 			   unsigned long count); | ||||
| void btrfs_cleanup_ref_head_accounting(struct btrfs_fs_info *fs_info, | ||||
| @ -2457,8 +2457,8 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans, | ||||
| 			 struct btrfs_ref *generic_ref); | ||||
| 
 | ||||
| int btrfs_extent_readonly(struct btrfs_fs_info *fs_info, u64 bytenr); | ||||
| void btrfs_get_block_group_trimming(struct btrfs_block_group_cache *cache); | ||||
| void btrfs_put_block_group_trimming(struct btrfs_block_group_cache *cache); | ||||
| void btrfs_get_block_group_trimming(struct btrfs_block_group *cache); | ||||
| void btrfs_put_block_group_trimming(struct btrfs_block_group *cache); | ||||
| void btrfs_clear_space_info_full(struct btrfs_fs_info *info); | ||||
| 
 | ||||
| enum btrfs_reserve_flush_enum { | ||||
|  | ||||
| @ -4409,7 +4409,7 @@ again: | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static void btrfs_cleanup_bg_io(struct btrfs_block_group_cache *cache) | ||||
| static void btrfs_cleanup_bg_io(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct inode *inode; | ||||
| 
 | ||||
| @ -4426,12 +4426,12 @@ static void btrfs_cleanup_bg_io(struct btrfs_block_group_cache *cache) | ||||
| void btrfs_cleanup_dirty_bgs(struct btrfs_transaction *cur_trans, | ||||
| 			     struct btrfs_fs_info *fs_info) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 
 | ||||
| 	spin_lock(&cur_trans->dirty_bgs_lock); | ||||
| 	while (!list_empty(&cur_trans->dirty_bgs)) { | ||||
| 		cache = list_first_entry(&cur_trans->dirty_bgs, | ||||
| 					 struct btrfs_block_group_cache, | ||||
| 					 struct btrfs_block_group, | ||||
| 					 dirty_list); | ||||
| 
 | ||||
| 		if (!list_empty(&cache->io_list)) { | ||||
| @ -4459,7 +4459,7 @@ void btrfs_cleanup_dirty_bgs(struct btrfs_transaction *cur_trans, | ||||
| 	 */ | ||||
| 	while (!list_empty(&cur_trans->io_bgs)) { | ||||
| 		cache = list_first_entry(&cur_trans->io_bgs, | ||||
| 					 struct btrfs_block_group_cache, | ||||
| 					 struct btrfs_block_group, | ||||
| 					 io_list); | ||||
| 
 | ||||
| 		list_del_init(&cache->io_list); | ||||
|  | ||||
| @ -54,7 +54,7 @@ static int alloc_reserved_tree_block(struct btrfs_trans_handle *trans, | ||||
| static int find_next_key(struct btrfs_path *path, int level, | ||||
| 			 struct btrfs_key *key); | ||||
| 
 | ||||
| static int block_group_bits(struct btrfs_block_group_cache *cache, u64 bits) | ||||
| static int block_group_bits(struct btrfs_block_group *cache, u64 bits) | ||||
| { | ||||
| 	return (cache->flags & bits) == bits; | ||||
| } | ||||
| @ -70,7 +70,7 @@ int btrfs_add_excluded_extent(struct btrfs_fs_info *fs_info, | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| void btrfs_free_excluded_extents(struct btrfs_block_group_cache *cache) | ||||
| void btrfs_free_excluded_extents(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = cache->fs_info; | ||||
| 	u64 start, end; | ||||
| @ -2537,7 +2537,7 @@ int btrfs_dec_ref(struct btrfs_trans_handle *trans, struct btrfs_root *root, | ||||
| 
 | ||||
| int btrfs_extent_readonly(struct btrfs_fs_info *fs_info, u64 bytenr) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	int readonly = 0; | ||||
| 
 | ||||
| 	block_group = btrfs_lookup_block_group(fs_info, bytenr); | ||||
| @ -2567,7 +2567,7 @@ static u64 get_alloc_profile_by_root(struct btrfs_root *root, int data) | ||||
| 
 | ||||
| static u64 first_logical_byte(struct btrfs_fs_info *fs_info, u64 search_start) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	u64 bytenr; | ||||
| 
 | ||||
| 	spin_lock(&fs_info->block_group_cache_lock); | ||||
| @ -2587,7 +2587,7 @@ static u64 first_logical_byte(struct btrfs_fs_info *fs_info, u64 search_start) | ||||
| 	return bytenr; | ||||
| } | ||||
| 
 | ||||
| static int pin_down_extent(struct btrfs_block_group_cache *cache, | ||||
| static int pin_down_extent(struct btrfs_block_group *cache, | ||||
| 			   u64 bytenr, u64 num_bytes, int reserved) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = cache->fs_info; | ||||
| @ -2614,7 +2614,7 @@ static int pin_down_extent(struct btrfs_block_group_cache *cache, | ||||
| int btrfs_pin_extent(struct btrfs_fs_info *fs_info, | ||||
| 		     u64 bytenr, u64 num_bytes, int reserved) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 
 | ||||
| 	ASSERT(fs_info->running_transaction); | ||||
| 
 | ||||
| @ -2633,7 +2633,7 @@ int btrfs_pin_extent(struct btrfs_fs_info *fs_info, | ||||
| int btrfs_pin_extent_for_log_replay(struct btrfs_fs_info *fs_info, | ||||
| 				    u64 bytenr, u64 num_bytes) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	int ret; | ||||
| 
 | ||||
| 	cache = btrfs_lookup_block_group(fs_info, bytenr); | ||||
| @ -2660,7 +2660,7 @@ static int __exclude_logged_extent(struct btrfs_fs_info *fs_info, | ||||
| 				   u64 start, u64 num_bytes) | ||||
| { | ||||
| 	int ret; | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_caching_control *caching_ctl; | ||||
| 
 | ||||
| 	block_group = btrfs_lookup_block_group(fs_info, start); | ||||
| @ -2672,7 +2672,7 @@ static int __exclude_logged_extent(struct btrfs_fs_info *fs_info, | ||||
| 
 | ||||
| 	if (!caching_ctl) { | ||||
| 		/* Logic error */ | ||||
| 		BUG_ON(!btrfs_block_group_cache_done(block_group)); | ||||
| 		BUG_ON(!btrfs_block_group_done(block_group)); | ||||
| 		ret = btrfs_remove_free_space(block_group, start, num_bytes); | ||||
| 	} else { | ||||
| 		mutex_lock(&caching_ctl->mutex); | ||||
| @ -2737,7 +2737,7 @@ int btrfs_exclude_logged_extents(struct extent_buffer *eb) | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| btrfs_inc_block_group_reservations(struct btrfs_block_group_cache *bg) | ||||
| btrfs_inc_block_group_reservations(struct btrfs_block_group *bg) | ||||
| { | ||||
| 	atomic_inc(&bg->reservations); | ||||
| } | ||||
| @ -2746,14 +2746,14 @@ void btrfs_prepare_extent_commit(struct btrfs_fs_info *fs_info) | ||||
| { | ||||
| 	struct btrfs_caching_control *next; | ||||
| 	struct btrfs_caching_control *caching_ctl; | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 
 | ||||
| 	down_write(&fs_info->commit_root_sem); | ||||
| 
 | ||||
| 	list_for_each_entry_safe(caching_ctl, next, | ||||
| 				 &fs_info->caching_block_groups, list) { | ||||
| 		cache = caching_ctl->block_group; | ||||
| 		if (btrfs_block_group_cache_done(cache)) { | ||||
| 		if (btrfs_block_group_done(cache)) { | ||||
| 			cache->last_byte_to_unpin = (u64)-1; | ||||
| 			list_del_init(&caching_ctl->list); | ||||
| 			btrfs_put_caching_control(caching_ctl); | ||||
| @ -2805,7 +2805,7 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info, | ||||
| 			      u64 start, u64 end, | ||||
| 			      const bool return_free_space) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache = NULL; | ||||
| 	struct btrfs_block_group *cache = NULL; | ||||
| 	struct btrfs_space_info *space_info; | ||||
| 	struct btrfs_block_rsv *global_rsv = &fs_info->global_block_rsv; | ||||
| 	struct btrfs_free_cluster *cluster = NULL; | ||||
| @ -2900,7 +2900,7 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info, | ||||
| int btrfs_finish_extent_commit(struct btrfs_trans_handle *trans) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	struct btrfs_block_group_cache *block_group, *tmp; | ||||
| 	struct btrfs_block_group *block_group, *tmp; | ||||
| 	struct list_head *deleted_bgs; | ||||
| 	struct extent_io_tree *unpin; | ||||
| 	u64 start; | ||||
| @ -3282,7 +3282,7 @@ void btrfs_free_tree_block(struct btrfs_trans_handle *trans, | ||||
| 	} | ||||
| 
 | ||||
| 	if (last_ref && btrfs_header_generation(buf) == trans->transid) { | ||||
| 		struct btrfs_block_group_cache *cache; | ||||
| 		struct btrfs_block_group *cache; | ||||
| 
 | ||||
| 		if (root->root_key.objectid != BTRFS_TREE_LOG_OBJECTID) { | ||||
| 			ret = check_ref_cleanup(trans, buf->start); | ||||
| @ -3369,15 +3369,14 @@ enum btrfs_loop_type { | ||||
| }; | ||||
| 
 | ||||
| static inline void | ||||
| btrfs_lock_block_group(struct btrfs_block_group_cache *cache, | ||||
| btrfs_lock_block_group(struct btrfs_block_group *cache, | ||||
| 		       int delalloc) | ||||
| { | ||||
| 	if (delalloc) | ||||
| 		down_read(&cache->data_rwsem); | ||||
| } | ||||
| 
 | ||||
| static inline void | ||||
| btrfs_grab_block_group(struct btrfs_block_group_cache *cache, | ||||
| static inline void btrfs_grab_block_group(struct btrfs_block_group *cache, | ||||
| 		       int delalloc) | ||||
| { | ||||
| 	btrfs_get_block_group(cache); | ||||
| @ -3385,12 +3384,12 @@ btrfs_grab_block_group(struct btrfs_block_group_cache *cache, | ||||
| 		down_read(&cache->data_rwsem); | ||||
| } | ||||
| 
 | ||||
| static struct btrfs_block_group_cache * | ||||
| btrfs_lock_cluster(struct btrfs_block_group_cache *block_group, | ||||
| static struct btrfs_block_group *btrfs_lock_cluster( | ||||
| 		   struct btrfs_block_group *block_group, | ||||
| 		   struct btrfs_free_cluster *cluster, | ||||
| 		   int delalloc) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *used_bg = NULL; | ||||
| 	struct btrfs_block_group *used_bg = NULL; | ||||
| 
 | ||||
| 	spin_lock(&cluster->refill_lock); | ||||
| 	while (1) { | ||||
| @ -3424,7 +3423,7 @@ btrfs_lock_cluster(struct btrfs_block_group_cache *block_group, | ||||
| } | ||||
| 
 | ||||
| static inline void | ||||
| btrfs_release_block_group(struct btrfs_block_group_cache *cache, | ||||
| btrfs_release_block_group(struct btrfs_block_group *cache, | ||||
| 			 int delalloc) | ||||
| { | ||||
| 	if (delalloc) | ||||
| @ -3495,12 +3494,12 @@ struct find_free_extent_ctl { | ||||
|  * Return >0 to inform caller that we find nothing | ||||
|  * Return 0 means we have found a location and set ffe_ctl->found_offset. | ||||
|  */ | ||||
| static int find_free_extent_clustered(struct btrfs_block_group_cache *bg, | ||||
| static int find_free_extent_clustered(struct btrfs_block_group *bg, | ||||
| 		struct btrfs_free_cluster *last_ptr, | ||||
| 		struct find_free_extent_ctl *ffe_ctl, | ||||
| 		struct btrfs_block_group_cache **cluster_bg_ret) | ||||
| 		struct btrfs_block_group **cluster_bg_ret) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cluster_bg; | ||||
| 	struct btrfs_block_group *cluster_bg; | ||||
| 	u64 aligned_cluster; | ||||
| 	u64 offset; | ||||
| 	int ret; | ||||
| @ -3599,7 +3598,7 @@ refill_cluster: | ||||
|  * Return 0 when we found an free extent and set ffe_ctrl->found_offset | ||||
|  * Return -EAGAIN to inform caller that we need to re-search this block group | ||||
|  */ | ||||
| static int find_free_extent_unclustered(struct btrfs_block_group_cache *bg, | ||||
| static int find_free_extent_unclustered(struct btrfs_block_group *bg, | ||||
| 		struct btrfs_free_cluster *last_ptr, | ||||
| 		struct find_free_extent_ctl *ffe_ctl) | ||||
| { | ||||
| @ -3801,7 +3800,7 @@ static noinline int find_free_extent(struct btrfs_fs_info *fs_info, | ||||
| { | ||||
| 	int ret = 0; | ||||
| 	struct btrfs_free_cluster *last_ptr = NULL; | ||||
| 	struct btrfs_block_group_cache *block_group = NULL; | ||||
| 	struct btrfs_block_group *block_group = NULL; | ||||
| 	struct find_free_extent_ctl ffe_ctl = {0}; | ||||
| 	struct btrfs_space_info *space_info; | ||||
| 	bool use_cluster = true; | ||||
| @ -3955,7 +3954,7 @@ search: | ||||
| 		} | ||||
| 
 | ||||
| have_block_group: | ||||
| 		ffe_ctl.cached = btrfs_block_group_cache_done(block_group); | ||||
| 		ffe_ctl.cached = btrfs_block_group_done(block_group); | ||||
| 		if (unlikely(!ffe_ctl.cached)) { | ||||
| 			ffe_ctl.have_caching_bg = true; | ||||
| 			ret = btrfs_cache_block_group(block_group, 0); | ||||
| @ -3971,7 +3970,7 @@ have_block_group: | ||||
| 		 * lets look there | ||||
| 		 */ | ||||
| 		if (last_ptr && use_cluster) { | ||||
| 			struct btrfs_block_group_cache *cluster_bg = NULL; | ||||
| 			struct btrfs_block_group *cluster_bg = NULL; | ||||
| 
 | ||||
| 			ret = find_free_extent_clustered(block_group, last_ptr, | ||||
| 							 &ffe_ctl, &cluster_bg); | ||||
| @ -4153,7 +4152,7 @@ static int __btrfs_free_reserved_extent(struct btrfs_fs_info *fs_info, | ||||
| 					u64 start, u64 len, | ||||
| 					int pin, int delalloc) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	int ret = 0; | ||||
| 
 | ||||
| 	cache = btrfs_lookup_block_group(fs_info, start); | ||||
| @ -4386,7 +4385,7 @@ int btrfs_alloc_logged_file_extent(struct btrfs_trans_handle *trans, | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	int ret; | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_space_info *space_info; | ||||
| 
 | ||||
| 	/*
 | ||||
| @ -5500,7 +5499,7 @@ int btrfs_drop_subtree(struct btrfs_trans_handle *trans, | ||||
|  */ | ||||
| u64 btrfs_account_ro_block_groups_free_space(struct btrfs_space_info *sinfo) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	u64 free_bytes = 0; | ||||
| 	int factor; | ||||
| 
 | ||||
| @ -5642,7 +5641,7 @@ static int btrfs_trim_free_extents(struct btrfs_device *device, u64 *trimmed) | ||||
|  */ | ||||
| int btrfs_trim_fs(struct btrfs_fs_info *fs_info, struct fstrim_range *range) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache = NULL; | ||||
| 	struct btrfs_block_group *cache = NULL; | ||||
| 	struct btrfs_device *device; | ||||
| 	struct list_head *devices; | ||||
| 	u64 group_trimmed; | ||||
| @ -5675,7 +5674,7 @@ int btrfs_trim_fs(struct btrfs_fs_info *fs_info, struct fstrim_range *range) | ||||
| 		end = min(range_end, cache->start + cache->length); | ||||
| 
 | ||||
| 		if (end - start >= range->minlen) { | ||||
| 			if (!btrfs_block_group_cache_done(cache)) { | ||||
| 			if (!btrfs_block_group_done(cache)) { | ||||
| 				ret = btrfs_cache_block_group(cache, 0); | ||||
| 				if (ret) { | ||||
| 					bg_failed++; | ||||
|  | ||||
| @ -91,8 +91,7 @@ static struct inode *__lookup_free_space_inode(struct btrfs_root *root, | ||||
| 	return inode; | ||||
| } | ||||
| 
 | ||||
| struct inode *lookup_free_space_inode( | ||||
| 		struct btrfs_block_group_cache *block_group, | ||||
| struct inode *lookup_free_space_inode(struct btrfs_block_group *block_group, | ||||
| 		struct btrfs_path *path) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| @ -190,7 +189,7 @@ static int __create_free_space_inode(struct btrfs_root *root, | ||||
| } | ||||
| 
 | ||||
| int create_free_space_inode(struct btrfs_trans_handle *trans, | ||||
| 			    struct btrfs_block_group_cache *block_group, | ||||
| 			    struct btrfs_block_group *block_group, | ||||
| 			    struct btrfs_path *path) | ||||
| { | ||||
| 	int ret; | ||||
| @ -224,7 +223,7 @@ int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info, | ||||
| } | ||||
| 
 | ||||
| int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans, | ||||
| 				    struct btrfs_block_group_cache *block_group, | ||||
| 				    struct btrfs_block_group *block_group, | ||||
| 				    struct inode *inode) | ||||
| { | ||||
| 	struct btrfs_root *root = BTRFS_I(inode)->root; | ||||
| @ -820,7 +819,7 @@ free_cache: | ||||
| 	goto out; | ||||
| } | ||||
| 
 | ||||
| int load_free_space_cache(struct btrfs_block_group_cache *block_group) | ||||
| int load_free_space_cache(struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| 	struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; | ||||
| @ -919,7 +918,7 @@ out: | ||||
| static noinline_for_stack | ||||
| int write_cache_extent_entries(struct btrfs_io_ctl *io_ctl, | ||||
| 			      struct btrfs_free_space_ctl *ctl, | ||||
| 			      struct btrfs_block_group_cache *block_group, | ||||
| 			      struct btrfs_block_group *block_group, | ||||
| 			      int *entries, int *bitmaps, | ||||
| 			      struct list_head *bitmap_list) | ||||
| { | ||||
| @ -1047,7 +1046,7 @@ fail: | ||||
| } | ||||
| 
 | ||||
| static noinline_for_stack int write_pinned_extent_entries( | ||||
| 			    struct btrfs_block_group_cache *block_group, | ||||
| 			    struct btrfs_block_group *block_group, | ||||
| 			    struct btrfs_io_ctl *io_ctl, | ||||
| 			    int *entries) | ||||
| { | ||||
| @ -1146,7 +1145,7 @@ cleanup_write_cache_enospc(struct inode *inode, | ||||
| 
 | ||||
| static int __btrfs_wait_cache_io(struct btrfs_root *root, | ||||
| 				 struct btrfs_trans_handle *trans, | ||||
| 				 struct btrfs_block_group_cache *block_group, | ||||
| 				 struct btrfs_block_group *block_group, | ||||
| 				 struct btrfs_io_ctl *io_ctl, | ||||
| 				 struct btrfs_path *path, u64 offset) | ||||
| { | ||||
| @ -1215,7 +1214,7 @@ static int btrfs_wait_cache_io_root(struct btrfs_root *root, | ||||
| } | ||||
| 
 | ||||
| int btrfs_wait_cache_io(struct btrfs_trans_handle *trans, | ||||
| 			struct btrfs_block_group_cache *block_group, | ||||
| 			struct btrfs_block_group *block_group, | ||||
| 			struct btrfs_path *path) | ||||
| { | ||||
| 	return __btrfs_wait_cache_io(block_group->fs_info->tree_root, trans, | ||||
| @ -1236,7 +1235,7 @@ int btrfs_wait_cache_io(struct btrfs_trans_handle *trans, | ||||
|  */ | ||||
| static int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode, | ||||
| 				   struct btrfs_free_space_ctl *ctl, | ||||
| 				   struct btrfs_block_group_cache *block_group, | ||||
| 				   struct btrfs_block_group *block_group, | ||||
| 				   struct btrfs_io_ctl *io_ctl, | ||||
| 				   struct btrfs_trans_handle *trans) | ||||
| { | ||||
| @ -1374,7 +1373,7 @@ out_unlock: | ||||
| } | ||||
| 
 | ||||
| int btrfs_write_out_cache(struct btrfs_trans_handle *trans, | ||||
| 			  struct btrfs_block_group_cache *block_group, | ||||
| 			  struct btrfs_block_group *block_group, | ||||
| 			  struct btrfs_path *path) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| @ -1652,7 +1651,7 @@ static int link_free_space(struct btrfs_free_space_ctl *ctl, | ||||
| 
 | ||||
| static void recalculate_thresholds(struct btrfs_free_space_ctl *ctl) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group = ctl->private; | ||||
| 	struct btrfs_block_group *block_group = ctl->private; | ||||
| 	u64 max_bytes; | ||||
| 	u64 bitmap_bytes; | ||||
| 	u64 extent_bytes; | ||||
| @ -1996,7 +1995,7 @@ static u64 add_bytes_to_bitmap(struct btrfs_free_space_ctl *ctl, | ||||
| static bool use_bitmap(struct btrfs_free_space_ctl *ctl, | ||||
| 		      struct btrfs_free_space *info) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group = ctl->private; | ||||
| 	struct btrfs_block_group *block_group = ctl->private; | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| 	bool forced = false; | ||||
| 
 | ||||
| @ -2048,7 +2047,7 @@ static int insert_into_bitmap(struct btrfs_free_space_ctl *ctl, | ||||
| 			      struct btrfs_free_space *info) | ||||
| { | ||||
| 	struct btrfs_free_space *bitmap_info; | ||||
| 	struct btrfs_block_group_cache *block_group = NULL; | ||||
| 	struct btrfs_block_group *block_group = NULL; | ||||
| 	int added = 0; | ||||
| 	u64 bytes, offset, bytes_added; | ||||
| 	int ret; | ||||
| @ -2385,7 +2384,7 @@ out: | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| int btrfs_add_free_space(struct btrfs_block_group_cache *block_group, | ||||
| int btrfs_add_free_space(struct btrfs_block_group *block_group, | ||||
| 			 u64 bytenr, u64 size) | ||||
| { | ||||
| 	return __btrfs_add_free_space(block_group->fs_info, | ||||
| @ -2393,7 +2392,7 @@ int btrfs_add_free_space(struct btrfs_block_group_cache *block_group, | ||||
| 				      bytenr, size); | ||||
| } | ||||
| 
 | ||||
| int btrfs_remove_free_space(struct btrfs_block_group_cache *block_group, | ||||
| int btrfs_remove_free_space(struct btrfs_block_group *block_group, | ||||
| 			    u64 offset, u64 bytes) | ||||
| { | ||||
| 	struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; | ||||
| @ -2483,7 +2482,7 @@ out: | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| void btrfs_dump_free_space(struct btrfs_block_group_cache *block_group, | ||||
| void btrfs_dump_free_space(struct btrfs_block_group *block_group, | ||||
| 			   u64 bytes) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| @ -2508,7 +2507,7 @@ void btrfs_dump_free_space(struct btrfs_block_group_cache *block_group, | ||||
| 		   "%d blocks of free space at or bigger than bytes is", count); | ||||
| } | ||||
| 
 | ||||
| void btrfs_init_free_space_ctl(struct btrfs_block_group_cache *block_group) | ||||
| void btrfs_init_free_space_ctl(struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| 	struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; | ||||
| @ -2537,7 +2536,7 @@ void btrfs_init_free_space_ctl(struct btrfs_block_group_cache *block_group) | ||||
|  */ | ||||
| static int | ||||
| __btrfs_return_cluster_to_free_space( | ||||
| 			     struct btrfs_block_group_cache *block_group, | ||||
| 			     struct btrfs_block_group *block_group, | ||||
| 			     struct btrfs_free_cluster *cluster) | ||||
| { | ||||
| 	struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; | ||||
| @ -2603,7 +2602,7 @@ void __btrfs_remove_free_space_cache(struct btrfs_free_space_ctl *ctl) | ||||
| 	spin_unlock(&ctl->tree_lock); | ||||
| } | ||||
| 
 | ||||
| void btrfs_remove_free_space_cache(struct btrfs_block_group_cache *block_group) | ||||
| void btrfs_remove_free_space_cache(struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; | ||||
| 	struct btrfs_free_cluster *cluster; | ||||
| @ -2625,7 +2624,7 @@ void btrfs_remove_free_space_cache(struct btrfs_block_group_cache *block_group) | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| u64 btrfs_find_space_for_alloc(struct btrfs_block_group_cache *block_group, | ||||
| u64 btrfs_find_space_for_alloc(struct btrfs_block_group *block_group, | ||||
| 			       u64 offset, u64 bytes, u64 empty_size, | ||||
| 			       u64 *max_extent_size) | ||||
| { | ||||
| @ -2679,7 +2678,7 @@ out: | ||||
|  * cluster and remove the cluster from it. | ||||
|  */ | ||||
| int btrfs_return_cluster_to_free_space( | ||||
| 			       struct btrfs_block_group_cache *block_group, | ||||
| 			       struct btrfs_block_group *block_group, | ||||
| 			       struct btrfs_free_cluster *cluster) | ||||
| { | ||||
| 	struct btrfs_free_space_ctl *ctl; | ||||
| @ -2713,7 +2712,7 @@ int btrfs_return_cluster_to_free_space( | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| static u64 btrfs_alloc_from_bitmap(struct btrfs_block_group_cache *block_group, | ||||
| static u64 btrfs_alloc_from_bitmap(struct btrfs_block_group *block_group, | ||||
| 				   struct btrfs_free_cluster *cluster, | ||||
| 				   struct btrfs_free_space *entry, | ||||
| 				   u64 bytes, u64 min_start, | ||||
| @ -2746,7 +2745,7 @@ static u64 btrfs_alloc_from_bitmap(struct btrfs_block_group_cache *block_group, | ||||
|  * if it couldn't find anything suitably large, or a logical disk offset | ||||
|  * if things worked out | ||||
|  */ | ||||
| u64 btrfs_alloc_from_cluster(struct btrfs_block_group_cache *block_group, | ||||
| u64 btrfs_alloc_from_cluster(struct btrfs_block_group *block_group, | ||||
| 			     struct btrfs_free_cluster *cluster, u64 bytes, | ||||
| 			     u64 min_start, u64 *max_extent_size) | ||||
| { | ||||
| @ -2832,7 +2831,7 @@ out: | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| static int btrfs_bitmap_cluster(struct btrfs_block_group_cache *block_group, | ||||
| static int btrfs_bitmap_cluster(struct btrfs_block_group *block_group, | ||||
| 				struct btrfs_free_space *entry, | ||||
| 				struct btrfs_free_cluster *cluster, | ||||
| 				u64 offset, u64 bytes, | ||||
| @ -2914,7 +2913,7 @@ again: | ||||
|  * extent of cont1_bytes, and other clusters of at least min_bytes. | ||||
|  */ | ||||
| static noinline int | ||||
| setup_cluster_no_bitmap(struct btrfs_block_group_cache *block_group, | ||||
| setup_cluster_no_bitmap(struct btrfs_block_group *block_group, | ||||
| 			struct btrfs_free_cluster *cluster, | ||||
| 			struct list_head *bitmaps, u64 offset, u64 bytes, | ||||
| 			u64 cont1_bytes, u64 min_bytes) | ||||
| @ -3005,7 +3004,7 @@ setup_cluster_no_bitmap(struct btrfs_block_group_cache *block_group, | ||||
|  * that we have already failed to find extents that will work. | ||||
|  */ | ||||
| static noinline int | ||||
| setup_cluster_bitmap(struct btrfs_block_group_cache *block_group, | ||||
| setup_cluster_bitmap(struct btrfs_block_group *block_group, | ||||
| 		     struct btrfs_free_cluster *cluster, | ||||
| 		     struct list_head *bitmaps, u64 offset, u64 bytes, | ||||
| 		     u64 cont1_bytes, u64 min_bytes) | ||||
| @ -3055,7 +3054,7 @@ setup_cluster_bitmap(struct btrfs_block_group_cache *block_group, | ||||
|  * returns zero and sets up cluster if things worked out, otherwise | ||||
|  * it returns -enospc | ||||
|  */ | ||||
| int btrfs_find_space_cluster(struct btrfs_block_group_cache *block_group, | ||||
| int btrfs_find_space_cluster(struct btrfs_block_group *block_group, | ||||
| 			     struct btrfs_free_cluster *cluster, | ||||
| 			     u64 offset, u64 bytes, u64 empty_size) | ||||
| { | ||||
| @ -3146,7 +3145,7 @@ void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster) | ||||
| 	cluster->block_group = NULL; | ||||
| } | ||||
| 
 | ||||
| static int do_trimming(struct btrfs_block_group_cache *block_group, | ||||
| static int do_trimming(struct btrfs_block_group *block_group, | ||||
| 		       u64 *total_trimmed, u64 start, u64 bytes, | ||||
| 		       u64 reserved_start, u64 reserved_bytes, | ||||
| 		       struct btrfs_trim_range *trim_entry) | ||||
| @ -3191,7 +3190,7 @@ static int do_trimming(struct btrfs_block_group_cache *block_group, | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| static int trim_no_bitmap(struct btrfs_block_group_cache *block_group, | ||||
| static int trim_no_bitmap(struct btrfs_block_group *block_group, | ||||
| 			  u64 *total_trimmed, u64 start, u64 end, u64 minlen) | ||||
| { | ||||
| 	struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; | ||||
| @ -3276,7 +3275,7 @@ out: | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| static int trim_bitmaps(struct btrfs_block_group_cache *block_group, | ||||
| static int trim_bitmaps(struct btrfs_block_group *block_group, | ||||
| 			u64 *total_trimmed, u64 start, u64 end, u64 minlen) | ||||
| { | ||||
| 	struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; | ||||
| @ -3357,12 +3356,12 @@ next: | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| void btrfs_get_block_group_trimming(struct btrfs_block_group_cache *cache) | ||||
| void btrfs_get_block_group_trimming(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	atomic_inc(&cache->trimming); | ||||
| } | ||||
| 
 | ||||
| void btrfs_put_block_group_trimming(struct btrfs_block_group_cache *block_group) | ||||
| void btrfs_put_block_group_trimming(struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| 	struct extent_map_tree *em_tree; | ||||
| @ -3397,7 +3396,7 @@ void btrfs_put_block_group_trimming(struct btrfs_block_group_cache *block_group) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| int btrfs_trim_block_group(struct btrfs_block_group_cache *block_group, | ||||
| int btrfs_trim_block_group(struct btrfs_block_group *block_group, | ||||
| 			   u64 *trimmed, u64 start, u64 end, u64 minlen) | ||||
| { | ||||
| 	int ret; | ||||
| @ -3595,7 +3594,7 @@ int btrfs_write_out_ino_cache(struct btrfs_root *root, | ||||
|  * how the free space cache loading stuff works, so you can get really weird | ||||
|  * configurations. | ||||
|  */ | ||||
| int test_add_free_space_entry(struct btrfs_block_group_cache *cache, | ||||
| int test_add_free_space_entry(struct btrfs_block_group *cache, | ||||
| 			      u64 offset, u64 bytes, bool bitmap) | ||||
| { | ||||
| 	struct btrfs_free_space_ctl *ctl = cache->free_space_ctl; | ||||
| @ -3663,7 +3662,7 @@ again: | ||||
|  * just used to check the absence of space, so if there is free space in the | ||||
|  * range at all we will return 1. | ||||
|  */ | ||||
| int test_check_exists(struct btrfs_block_group_cache *cache, | ||||
| int test_check_exists(struct btrfs_block_group *cache, | ||||
| 		      u64 offset, u64 bytes) | ||||
| { | ||||
| 	struct btrfs_free_space_ctl *ctl = cache->free_space_ctl; | ||||
|  | ||||
| @ -50,24 +50,23 @@ struct btrfs_io_ctl { | ||||
| 	unsigned check_crcs:1; | ||||
| }; | ||||
| 
 | ||||
| struct inode *lookup_free_space_inode( | ||||
| 		struct btrfs_block_group_cache *block_group, | ||||
| struct inode *lookup_free_space_inode(struct btrfs_block_group *block_group, | ||||
| 		struct btrfs_path *path); | ||||
| int create_free_space_inode(struct btrfs_trans_handle *trans, | ||||
| 			    struct btrfs_block_group_cache *block_group, | ||||
| 			    struct btrfs_block_group *block_group, | ||||
| 			    struct btrfs_path *path); | ||||
| 
 | ||||
| int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info, | ||||
| 				       struct btrfs_block_rsv *rsv); | ||||
| int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans, | ||||
| 				    struct btrfs_block_group_cache *block_group, | ||||
| 				    struct btrfs_block_group *block_group, | ||||
| 				    struct inode *inode); | ||||
| int load_free_space_cache(struct btrfs_block_group_cache *block_group); | ||||
| int load_free_space_cache(struct btrfs_block_group *block_group); | ||||
| int btrfs_wait_cache_io(struct btrfs_trans_handle *trans, | ||||
| 			struct btrfs_block_group_cache *block_group, | ||||
| 			struct btrfs_block_group *block_group, | ||||
| 			struct btrfs_path *path); | ||||
| int btrfs_write_out_cache(struct btrfs_trans_handle *trans, | ||||
| 			  struct btrfs_block_group_cache *block_group, | ||||
| 			  struct btrfs_block_group *block_group, | ||||
| 			  struct btrfs_path *path); | ||||
| struct inode *lookup_free_ino_inode(struct btrfs_root *root, | ||||
| 				    struct btrfs_path *path); | ||||
| @ -81,42 +80,40 @@ int btrfs_write_out_ino_cache(struct btrfs_root *root, | ||||
| 			      struct btrfs_path *path, | ||||
| 			      struct inode *inode); | ||||
| 
 | ||||
| void btrfs_init_free_space_ctl(struct btrfs_block_group_cache *block_group); | ||||
| void btrfs_init_free_space_ctl(struct btrfs_block_group *block_group); | ||||
| int __btrfs_add_free_space(struct btrfs_fs_info *fs_info, | ||||
| 			   struct btrfs_free_space_ctl *ctl, | ||||
| 			   u64 bytenr, u64 size); | ||||
| int btrfs_add_free_space(struct btrfs_block_group_cache *block_group, | ||||
| int btrfs_add_free_space(struct btrfs_block_group *block_group, | ||||
| 			 u64 bytenr, u64 size); | ||||
| int btrfs_remove_free_space(struct btrfs_block_group_cache *block_group, | ||||
| int btrfs_remove_free_space(struct btrfs_block_group *block_group, | ||||
| 			    u64 bytenr, u64 size); | ||||
| void __btrfs_remove_free_space_cache(struct btrfs_free_space_ctl *ctl); | ||||
| void btrfs_remove_free_space_cache(struct btrfs_block_group_cache | ||||
| 				     *block_group); | ||||
| u64 btrfs_find_space_for_alloc(struct btrfs_block_group_cache *block_group, | ||||
| void btrfs_remove_free_space_cache(struct btrfs_block_group *block_group); | ||||
| u64 btrfs_find_space_for_alloc(struct btrfs_block_group *block_group, | ||||
| 			       u64 offset, u64 bytes, u64 empty_size, | ||||
| 			       u64 *max_extent_size); | ||||
| u64 btrfs_find_ino_for_alloc(struct btrfs_root *fs_root); | ||||
| void btrfs_dump_free_space(struct btrfs_block_group_cache *block_group, | ||||
| void btrfs_dump_free_space(struct btrfs_block_group *block_group, | ||||
| 			   u64 bytes); | ||||
| int btrfs_find_space_cluster(struct btrfs_block_group_cache *block_group, | ||||
| int btrfs_find_space_cluster(struct btrfs_block_group *block_group, | ||||
| 			     struct btrfs_free_cluster *cluster, | ||||
| 			     u64 offset, u64 bytes, u64 empty_size); | ||||
| void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster); | ||||
| u64 btrfs_alloc_from_cluster(struct btrfs_block_group_cache *block_group, | ||||
| u64 btrfs_alloc_from_cluster(struct btrfs_block_group *block_group, | ||||
| 			     struct btrfs_free_cluster *cluster, u64 bytes, | ||||
| 			     u64 min_start, u64 *max_extent_size); | ||||
| int btrfs_return_cluster_to_free_space( | ||||
| 			       struct btrfs_block_group_cache *block_group, | ||||
| 			       struct btrfs_block_group *block_group, | ||||
| 			       struct btrfs_free_cluster *cluster); | ||||
| int btrfs_trim_block_group(struct btrfs_block_group_cache *block_group, | ||||
| int btrfs_trim_block_group(struct btrfs_block_group *block_group, | ||||
| 			   u64 *trimmed, u64 start, u64 end, u64 minlen); | ||||
| 
 | ||||
| /* Support functions for running our sanity tests */ | ||||
| #ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS | ||||
| int test_add_free_space_entry(struct btrfs_block_group_cache *cache, | ||||
| int test_add_free_space_entry(struct btrfs_block_group *cache, | ||||
| 			      u64 offset, u64 bytes, bool bitmap); | ||||
| int test_check_exists(struct btrfs_block_group_cache *cache, | ||||
| 		      u64 offset, u64 bytes); | ||||
| int test_check_exists(struct btrfs_block_group *cache, u64 offset, u64 bytes); | ||||
| #endif | ||||
| 
 | ||||
| #endif | ||||
|  | ||||
| @ -13,10 +13,10 @@ | ||||
| #include "block-group.h" | ||||
| 
 | ||||
| static int __add_block_group_free_space(struct btrfs_trans_handle *trans, | ||||
| 					struct btrfs_block_group_cache *block_group, | ||||
| 					struct btrfs_block_group *block_group, | ||||
| 					struct btrfs_path *path); | ||||
| 
 | ||||
| void set_free_space_tree_thresholds(struct btrfs_block_group_cache *cache) | ||||
| void set_free_space_tree_thresholds(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	u32 bitmap_range; | ||||
| 	size_t bitmap_size; | ||||
| @ -44,7 +44,7 @@ void set_free_space_tree_thresholds(struct btrfs_block_group_cache *cache) | ||||
| } | ||||
| 
 | ||||
| static int add_new_free_space_info(struct btrfs_trans_handle *trans, | ||||
| 				   struct btrfs_block_group_cache *block_group, | ||||
| 				   struct btrfs_block_group *block_group, | ||||
| 				   struct btrfs_path *path) | ||||
| { | ||||
| 	struct btrfs_root *root = trans->fs_info->free_space_root; | ||||
| @ -77,7 +77,7 @@ out: | ||||
| EXPORT_FOR_TESTS | ||||
| struct btrfs_free_space_info *search_free_space_info( | ||||
| 		struct btrfs_trans_handle *trans, | ||||
| 		struct btrfs_block_group_cache *block_group, | ||||
| 		struct btrfs_block_group *block_group, | ||||
| 		struct btrfs_path *path, int cow) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = block_group->fs_info; | ||||
| @ -179,7 +179,7 @@ static void le_bitmap_set(unsigned long *map, unsigned int start, int len) | ||||
| 
 | ||||
| EXPORT_FOR_TESTS | ||||
| int convert_free_space_to_bitmaps(struct btrfs_trans_handle *trans, | ||||
| 				  struct btrfs_block_group_cache *block_group, | ||||
| 				  struct btrfs_block_group *block_group, | ||||
| 				  struct btrfs_path *path) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| @ -319,7 +319,7 @@ out: | ||||
| 
 | ||||
| EXPORT_FOR_TESTS | ||||
| int convert_free_space_to_extents(struct btrfs_trans_handle *trans, | ||||
| 				  struct btrfs_block_group_cache *block_group, | ||||
| 				  struct btrfs_block_group *block_group, | ||||
| 				  struct btrfs_path *path) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| @ -452,7 +452,7 @@ out: | ||||
| } | ||||
| 
 | ||||
| static int update_free_space_extent_count(struct btrfs_trans_handle *trans, | ||||
| 					  struct btrfs_block_group_cache *block_group, | ||||
| 					  struct btrfs_block_group *block_group, | ||||
| 					  struct btrfs_path *path, | ||||
| 					  int new_extents) | ||||
| { | ||||
| @ -490,7 +490,7 @@ out: | ||||
| } | ||||
| 
 | ||||
| EXPORT_FOR_TESTS | ||||
| int free_space_test_bit(struct btrfs_block_group_cache *block_group, | ||||
| int free_space_test_bit(struct btrfs_block_group *block_group, | ||||
| 			struct btrfs_path *path, u64 offset) | ||||
| { | ||||
| 	struct extent_buffer *leaf; | ||||
| @ -512,7 +512,7 @@ int free_space_test_bit(struct btrfs_block_group_cache *block_group, | ||||
| 	return !!extent_buffer_test_bit(leaf, ptr, i); | ||||
| } | ||||
| 
 | ||||
| static void free_space_set_bits(struct btrfs_block_group_cache *block_group, | ||||
| static void free_space_set_bits(struct btrfs_block_group *block_group, | ||||
| 				struct btrfs_path *path, u64 *start, u64 *size, | ||||
| 				int bit) | ||||
| { | ||||
| @ -580,7 +580,7 @@ static int free_space_next_bitmap(struct btrfs_trans_handle *trans, | ||||
|  * the bitmap. | ||||
|  */ | ||||
| static int modify_free_space_bitmap(struct btrfs_trans_handle *trans, | ||||
| 				    struct btrfs_block_group_cache *block_group, | ||||
| 				    struct btrfs_block_group *block_group, | ||||
| 				    struct btrfs_path *path, | ||||
| 				    u64 start, u64 size, int remove) | ||||
| { | ||||
| @ -693,7 +693,7 @@ out: | ||||
| } | ||||
| 
 | ||||
| static int remove_free_space_extent(struct btrfs_trans_handle *trans, | ||||
| 				    struct btrfs_block_group_cache *block_group, | ||||
| 				    struct btrfs_block_group *block_group, | ||||
| 				    struct btrfs_path *path, | ||||
| 				    u64 start, u64 size) | ||||
| { | ||||
| @ -780,7 +780,7 @@ out: | ||||
| 
 | ||||
| EXPORT_FOR_TESTS | ||||
| int __remove_from_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| 				  struct btrfs_block_group_cache *block_group, | ||||
| 				  struct btrfs_block_group *block_group, | ||||
| 				  struct btrfs_path *path, u64 start, u64 size) | ||||
| { | ||||
| 	struct btrfs_free_space_info *info; | ||||
| @ -811,7 +811,7 @@ int __remove_from_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| int remove_from_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| 				u64 start, u64 size) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_path *path; | ||||
| 	int ret; | ||||
| 
 | ||||
| @ -845,7 +845,7 @@ out: | ||||
| } | ||||
| 
 | ||||
| static int add_free_space_extent(struct btrfs_trans_handle *trans, | ||||
| 				 struct btrfs_block_group_cache *block_group, | ||||
| 				 struct btrfs_block_group *block_group, | ||||
| 				 struct btrfs_path *path, | ||||
| 				 u64 start, u64 size) | ||||
| { | ||||
| @ -973,7 +973,7 @@ out: | ||||
| 
 | ||||
| EXPORT_FOR_TESTS | ||||
| int __add_to_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| 			     struct btrfs_block_group_cache *block_group, | ||||
| 			     struct btrfs_block_group *block_group, | ||||
| 			     struct btrfs_path *path, u64 start, u64 size) | ||||
| { | ||||
| 	struct btrfs_free_space_info *info; | ||||
| @ -1004,7 +1004,7 @@ int __add_to_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| int add_to_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| 			   u64 start, u64 size) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_path *path; | ||||
| 	int ret; | ||||
| 
 | ||||
| @ -1042,7 +1042,7 @@ out: | ||||
|  * through the normal add/remove hooks. | ||||
|  */ | ||||
| static int populate_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| 				    struct btrfs_block_group_cache *block_group) | ||||
| 				    struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct btrfs_root *extent_root = trans->fs_info->extent_root; | ||||
| 	struct btrfs_path *path, *path2; | ||||
| @ -1139,7 +1139,7 @@ int btrfs_create_free_space_tree(struct btrfs_fs_info *fs_info) | ||||
| 	struct btrfs_trans_handle *trans; | ||||
| 	struct btrfs_root *tree_root = fs_info->tree_root; | ||||
| 	struct btrfs_root *free_space_root; | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct rb_node *node; | ||||
| 	int ret; | ||||
| 
 | ||||
| @ -1158,7 +1158,7 @@ int btrfs_create_free_space_tree(struct btrfs_fs_info *fs_info) | ||||
| 
 | ||||
| 	node = rb_first(&fs_info->block_group_cache_tree); | ||||
| 	while (node) { | ||||
| 		block_group = rb_entry(node, struct btrfs_block_group_cache, | ||||
| 		block_group = rb_entry(node, struct btrfs_block_group, | ||||
| 				       cache_node); | ||||
| 		ret = populate_free_space_tree(trans, block_group); | ||||
| 		if (ret) | ||||
| @ -1264,7 +1264,7 @@ abort: | ||||
| } | ||||
| 
 | ||||
| static int __add_block_group_free_space(struct btrfs_trans_handle *trans, | ||||
| 					struct btrfs_block_group_cache *block_group, | ||||
| 					struct btrfs_block_group *block_group, | ||||
| 					struct btrfs_path *path) | ||||
| { | ||||
| 	int ret; | ||||
| @ -1281,7 +1281,7 @@ static int __add_block_group_free_space(struct btrfs_trans_handle *trans, | ||||
| } | ||||
| 
 | ||||
| int add_block_group_free_space(struct btrfs_trans_handle *trans, | ||||
| 			       struct btrfs_block_group_cache *block_group) | ||||
| 			       struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
| 	struct btrfs_path *path = NULL; | ||||
| @ -1311,7 +1311,7 @@ out: | ||||
| } | ||||
| 
 | ||||
| int remove_block_group_free_space(struct btrfs_trans_handle *trans, | ||||
| 				  struct btrfs_block_group_cache *block_group) | ||||
| 				  struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	struct btrfs_root *root = trans->fs_info->free_space_root; | ||||
| 	struct btrfs_path *path; | ||||
| @ -1390,7 +1390,7 @@ static int load_free_space_bitmaps(struct btrfs_caching_control *caching_ctl, | ||||
| 				   struct btrfs_path *path, | ||||
| 				   u32 expected_extent_count) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_fs_info *fs_info; | ||||
| 	struct btrfs_root *root; | ||||
| 	struct btrfs_key key; | ||||
| @ -1471,7 +1471,7 @@ static int load_free_space_extents(struct btrfs_caching_control *caching_ctl, | ||||
| 				   struct btrfs_path *path, | ||||
| 				   u32 expected_extent_count) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_fs_info *fs_info; | ||||
| 	struct btrfs_root *root; | ||||
| 	struct btrfs_key key; | ||||
| @ -1531,7 +1531,7 @@ out: | ||||
| 
 | ||||
| int load_free_space_tree(struct btrfs_caching_control *caching_ctl) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	struct btrfs_free_space_info *info; | ||||
| 	struct btrfs_path *path; | ||||
| 	u32 extent_count, flags; | ||||
|  | ||||
| @ -16,14 +16,14 @@ struct btrfs_caching_control; | ||||
| #define BTRFS_FREE_SPACE_BITMAP_SIZE 256 | ||||
| #define BTRFS_FREE_SPACE_BITMAP_BITS (BTRFS_FREE_SPACE_BITMAP_SIZE * BITS_PER_BYTE) | ||||
| 
 | ||||
| void set_free_space_tree_thresholds(struct btrfs_block_group_cache *block_group); | ||||
| void set_free_space_tree_thresholds(struct btrfs_block_group *block_group); | ||||
| int btrfs_create_free_space_tree(struct btrfs_fs_info *fs_info); | ||||
| int btrfs_clear_free_space_tree(struct btrfs_fs_info *fs_info); | ||||
| int load_free_space_tree(struct btrfs_caching_control *caching_ctl); | ||||
| int add_block_group_free_space(struct btrfs_trans_handle *trans, | ||||
| 			       struct btrfs_block_group_cache *block_group); | ||||
| 			       struct btrfs_block_group *block_group); | ||||
| int remove_block_group_free_space(struct btrfs_trans_handle *trans, | ||||
| 				  struct btrfs_block_group_cache *block_group); | ||||
| 				  struct btrfs_block_group *block_group); | ||||
| int add_to_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| 			   u64 start, u64 size); | ||||
| int remove_from_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| @ -32,21 +32,21 @@ int remove_from_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| #ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS | ||||
| struct btrfs_free_space_info * | ||||
| search_free_space_info(struct btrfs_trans_handle *trans, | ||||
| 		       struct btrfs_block_group_cache *block_group, | ||||
| 		       struct btrfs_block_group *block_group, | ||||
| 		       struct btrfs_path *path, int cow); | ||||
| int __add_to_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| 			     struct btrfs_block_group_cache *block_group, | ||||
| 			     struct btrfs_block_group *block_group, | ||||
| 			     struct btrfs_path *path, u64 start, u64 size); | ||||
| int __remove_from_free_space_tree(struct btrfs_trans_handle *trans, | ||||
| 				  struct btrfs_block_group_cache *block_group, | ||||
| 				  struct btrfs_block_group *block_group, | ||||
| 				  struct btrfs_path *path, u64 start, u64 size); | ||||
| int convert_free_space_to_bitmaps(struct btrfs_trans_handle *trans, | ||||
| 				  struct btrfs_block_group_cache *block_group, | ||||
| 				  struct btrfs_block_group *block_group, | ||||
| 				  struct btrfs_path *path); | ||||
| int convert_free_space_to_extents(struct btrfs_trans_handle *trans, | ||||
| 				  struct btrfs_block_group_cache *block_group, | ||||
| 				  struct btrfs_block_group *block_group, | ||||
| 				  struct btrfs_path *path); | ||||
| int free_space_test_bit(struct btrfs_block_group_cache *block_group, | ||||
| int free_space_test_bit(struct btrfs_block_group *block_group, | ||||
| 			struct btrfs_path *path, u64 offset); | ||||
| #endif | ||||
| 
 | ||||
|  | ||||
| @ -3040,7 +3040,7 @@ out_kfree: | ||||
| static void btrfs_release_delalloc_bytes(struct btrfs_fs_info *fs_info, | ||||
| 					 u64 start, u64 len) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 
 | ||||
| 	cache = btrfs_lookup_block_group(fs_info, start); | ||||
| 	ASSERT(cache); | ||||
| @ -10837,7 +10837,7 @@ static int btrfs_swap_activate(struct swap_info_struct *sis, struct file *file, | ||||
| 	start = 0; | ||||
| 	while (start < isize) { | ||||
| 		u64 logical_block_start, physical_block_start; | ||||
| 		struct btrfs_block_group_cache *bg; | ||||
| 		struct btrfs_block_group *bg; | ||||
| 		u64 len = isize - start; | ||||
| 
 | ||||
| 		em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, start, len, 0); | ||||
|  | ||||
| @ -4031,7 +4031,7 @@ out: | ||||
| static void get_block_group_info(struct list_head *groups_list, | ||||
| 				 struct btrfs_ioctl_space_info *space) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 
 | ||||
| 	space->total_bytes = 0; | ||||
| 	space->used_bytes = 0; | ||||
|  | ||||
| @ -3823,7 +3823,7 @@ out: | ||||
|  */ | ||||
| int btrfs_qgroup_add_swapped_blocks(struct btrfs_trans_handle *trans, | ||||
| 		struct btrfs_root *subvol_root, | ||||
| 		struct btrfs_block_group_cache *bg, | ||||
| 		struct btrfs_block_group *bg, | ||||
| 		struct extent_buffer *subvol_parent, int subvol_slot, | ||||
| 		struct extent_buffer *reloc_parent, int reloc_slot, | ||||
| 		u64 last_snapshot) | ||||
|  | ||||
| @ -408,7 +408,7 @@ void btrfs_qgroup_init_swapped_blocks( | ||||
| void btrfs_qgroup_clean_swapped_blocks(struct btrfs_root *root); | ||||
| int btrfs_qgroup_add_swapped_blocks(struct btrfs_trans_handle *trans, | ||||
| 		struct btrfs_root *subvol_root, | ||||
| 		struct btrfs_block_group_cache *bg, | ||||
| 		struct btrfs_block_group *bg, | ||||
| 		struct extent_buffer *subvol_parent, int subvol_slot, | ||||
| 		struct extent_buffer *reloc_parent, int reloc_slot, | ||||
| 		u64 last_snapshot); | ||||
|  | ||||
| @ -227,7 +227,7 @@ static struct reada_zone *reada_find_zone(struct btrfs_device *dev, u64 logical, | ||||
| 	struct btrfs_fs_info *fs_info = dev->fs_info; | ||||
| 	int ret; | ||||
| 	struct reada_zone *zone; | ||||
| 	struct btrfs_block_group_cache *cache = NULL; | ||||
| 	struct btrfs_block_group *cache = NULL; | ||||
| 	u64 start; | ||||
| 	u64 end; | ||||
| 	int i; | ||||
|  | ||||
| @ -147,7 +147,7 @@ struct file_extent_cluster { | ||||
| 
 | ||||
| struct reloc_control { | ||||
| 	/* block group to relocate */ | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	/* extent tree */ | ||||
| 	struct btrfs_root *extent_root; | ||||
| 	/* inode for moving data */ | ||||
| @ -1560,8 +1560,7 @@ again: | ||||
| 	return NULL; | ||||
| } | ||||
| 
 | ||||
| static int in_block_group(u64 bytenr, | ||||
| 			  struct btrfs_block_group_cache *block_group) | ||||
| static int in_block_group(u64 bytenr, struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	if (bytenr >= block_group->start && | ||||
| 	    bytenr < block_group->start + block_group->length) | ||||
| @ -3544,7 +3543,7 @@ static int block_use_full_backref(struct reloc_control *rc, | ||||
| } | ||||
| 
 | ||||
| static int delete_block_group_cache(struct btrfs_fs_info *fs_info, | ||||
| 				    struct btrfs_block_group_cache *block_group, | ||||
| 				    struct btrfs_block_group *block_group, | ||||
| 				    struct inode *inode, | ||||
| 				    u64 ino) | ||||
| { | ||||
| @ -4219,7 +4218,7 @@ out: | ||||
|  */ | ||||
| static noinline_for_stack | ||||
| struct inode *create_reloc_inode(struct btrfs_fs_info *fs_info, | ||||
| 				 struct btrfs_block_group_cache *group) | ||||
| 				 struct btrfs_block_group *group) | ||||
| { | ||||
| 	struct inode *inode = NULL; | ||||
| 	struct btrfs_trans_handle *trans; | ||||
| @ -4283,7 +4282,7 @@ static struct reloc_control *alloc_reloc_control(struct btrfs_fs_info *fs_info) | ||||
|  * Print the block group being relocated | ||||
|  */ | ||||
| static void describe_relocation(struct btrfs_fs_info *fs_info, | ||||
| 				struct btrfs_block_group_cache *block_group) | ||||
| 				struct btrfs_block_group *block_group) | ||||
| { | ||||
| 	char buf[128] = {'\0'}; | ||||
| 
 | ||||
| @ -4299,7 +4298,7 @@ static void describe_relocation(struct btrfs_fs_info *fs_info, | ||||
|  */ | ||||
| int btrfs_relocate_block_group(struct btrfs_fs_info *fs_info, u64 group_start) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *bg; | ||||
| 	struct btrfs_block_group *bg; | ||||
| 	struct btrfs_root *extent_root = fs_info->extent_root; | ||||
| 	struct reloc_control *rc; | ||||
| 	struct inode *inode; | ||||
|  | ||||
| @ -389,8 +389,7 @@ static struct full_stripe_lock *search_full_stripe_lock( | ||||
|  * | ||||
|  * Caller must ensure @cache is a RAID56 block group. | ||||
|  */ | ||||
| static u64 get_full_stripe_logical(struct btrfs_block_group_cache *cache, | ||||
| 				   u64 bytenr) | ||||
| static u64 get_full_stripe_logical(struct btrfs_block_group *cache, u64 bytenr) | ||||
| { | ||||
| 	u64 ret; | ||||
| 
 | ||||
| @ -423,7 +422,7 @@ static u64 get_full_stripe_logical(struct btrfs_block_group_cache *cache, | ||||
| static int lock_full_stripe(struct btrfs_fs_info *fs_info, u64 bytenr, | ||||
| 			    bool *locked_ret) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *bg_cache; | ||||
| 	struct btrfs_block_group *bg_cache; | ||||
| 	struct btrfs_full_stripe_locks_tree *locks_root; | ||||
| 	struct full_stripe_lock *existing; | ||||
| 	u64 fstripe_start; | ||||
| @ -470,7 +469,7 @@ out: | ||||
| static int unlock_full_stripe(struct btrfs_fs_info *fs_info, u64 bytenr, | ||||
| 			      bool locked) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *bg_cache; | ||||
| 	struct btrfs_block_group *bg_cache; | ||||
| 	struct btrfs_full_stripe_locks_tree *locks_root; | ||||
| 	struct full_stripe_lock *fstripe_lock; | ||||
| 	u64 fstripe_start; | ||||
| @ -3417,7 +3416,7 @@ static noinline_for_stack int scrub_chunk(struct scrub_ctx *sctx, | ||||
| 					  struct btrfs_device *scrub_dev, | ||||
| 					  u64 chunk_offset, u64 length, | ||||
| 					  u64 dev_offset, | ||||
| 					  struct btrfs_block_group_cache *cache) | ||||
| 					  struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = sctx->fs_info; | ||||
| 	struct extent_map_tree *map_tree = &fs_info->mapping_tree; | ||||
| @ -3481,7 +3480,7 @@ int scrub_enumerate_chunks(struct scrub_ctx *sctx, | ||||
| 	struct extent_buffer *l; | ||||
| 	struct btrfs_key key; | ||||
| 	struct btrfs_key found_key; | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	struct btrfs_dev_replace *dev_replace = &fs_info->dev_replace; | ||||
| 
 | ||||
| 	path = btrfs_alloc_path(); | ||||
|  | ||||
| @ -284,7 +284,7 @@ void btrfs_dump_space_info(struct btrfs_fs_info *fs_info, | ||||
| 			   struct btrfs_space_info *info, u64 bytes, | ||||
| 			   int dump_block_groups) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	int index = 0; | ||||
| 
 | ||||
| 	spin_lock(&info->lock); | ||||
|  | ||||
| @ -397,7 +397,7 @@ static ssize_t raid_bytes_show(struct kobject *kobj, | ||||
| 
 | ||||
| { | ||||
| 	struct btrfs_space_info *sinfo = to_space_info(kobj->parent); | ||||
| 	struct btrfs_block_group_cache *block_group; | ||||
| 	struct btrfs_block_group *block_group; | ||||
| 	int index = btrfs_bg_flags_to_raid_index(to_raid_kobj(kobj)->flags); | ||||
| 	u64 val = 0; | ||||
| 
 | ||||
| @ -861,7 +861,7 @@ static void init_feature_attrs(void) | ||||
|  * Create a sysfs entry for a given block group type at path | ||||
|  * /sys/fs/btrfs/UUID/allocation/data/TYPE | ||||
|  */ | ||||
| void btrfs_sysfs_add_block_group_type(struct btrfs_block_group_cache *cache) | ||||
| void btrfs_sysfs_add_block_group_type(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info = cache->fs_info; | ||||
| 	struct btrfs_space_info *space_info = cache->space_info; | ||||
|  | ||||
| @ -32,7 +32,7 @@ int __init btrfs_init_sysfs(void); | ||||
| void __cold btrfs_exit_sysfs(void); | ||||
| int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info); | ||||
| void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info); | ||||
| void btrfs_sysfs_add_block_group_type(struct btrfs_block_group_cache *cache); | ||||
| void btrfs_sysfs_add_block_group_type(struct btrfs_block_group *cache); | ||||
| int btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info, | ||||
| 				    struct btrfs_space_info *space_info); | ||||
| void btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info); | ||||
|  | ||||
| @ -202,11 +202,11 @@ void btrfs_free_dummy_root(struct btrfs_root *root) | ||||
| 	kfree(root); | ||||
| } | ||||
| 
 | ||||
| struct btrfs_block_group_cache * | ||||
| struct btrfs_block_group * | ||||
| btrfs_alloc_dummy_block_group(struct btrfs_fs_info *fs_info, | ||||
| 			      unsigned long length) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 
 | ||||
| 	cache = kzalloc(sizeof(*cache), GFP_KERNEL); | ||||
| 	if (!cache) | ||||
| @ -232,7 +232,7 @@ btrfs_alloc_dummy_block_group(struct btrfs_fs_info *fs_info, | ||||
| 	return cache; | ||||
| } | ||||
| 
 | ||||
| void btrfs_free_dummy_block_group(struct btrfs_block_group_cache *cache) | ||||
| void btrfs_free_dummy_block_group(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	if (!cache) | ||||
| 		return; | ||||
|  | ||||
| @ -41,9 +41,9 @@ struct inode *btrfs_new_test_inode(void); | ||||
| struct btrfs_fs_info *btrfs_alloc_dummy_fs_info(u32 nodesize, u32 sectorsize); | ||||
| void btrfs_free_dummy_fs_info(struct btrfs_fs_info *fs_info); | ||||
| void btrfs_free_dummy_root(struct btrfs_root *root); | ||||
| struct btrfs_block_group_cache * | ||||
| struct btrfs_block_group * | ||||
| btrfs_alloc_dummy_block_group(struct btrfs_fs_info *fs_info, unsigned long length); | ||||
| void btrfs_free_dummy_block_group(struct btrfs_block_group_cache *cache); | ||||
| void btrfs_free_dummy_block_group(struct btrfs_block_group *cache); | ||||
| void btrfs_init_dummy_trans(struct btrfs_trans_handle *trans, | ||||
| 			    struct btrfs_fs_info *fs_info); | ||||
| #else | ||||
|  | ||||
| @ -17,7 +17,7 @@ | ||||
|  * entry and remove space from either end and the middle, and make sure we can | ||||
|  * remove space that covers adjacent extent entries. | ||||
|  */ | ||||
| static int test_extents(struct btrfs_block_group_cache *cache) | ||||
| static int test_extents(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	int ret = 0; | ||||
| 
 | ||||
| @ -87,8 +87,7 @@ static int test_extents(struct btrfs_block_group_cache *cache) | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static int test_bitmaps(struct btrfs_block_group_cache *cache, | ||||
| 			u32 sectorsize) | ||||
| static int test_bitmaps(struct btrfs_block_group *cache, u32 sectorsize) | ||||
| { | ||||
| 	u64 next_bitmap_offset; | ||||
| 	int ret; | ||||
| @ -156,7 +155,7 @@ static int test_bitmaps(struct btrfs_block_group_cache *cache, | ||||
| } | ||||
| 
 | ||||
| /* This is the high grade jackassery */ | ||||
| static int test_bitmaps_and_extents(struct btrfs_block_group_cache *cache, | ||||
| static int test_bitmaps_and_extents(struct btrfs_block_group *cache, | ||||
| 				    u32 sectorsize) | ||||
| { | ||||
| 	u64 bitmap_offset = (u64)(BITS_PER_BITMAP * sectorsize); | ||||
| @ -331,7 +330,7 @@ static bool test_use_bitmap(struct btrfs_free_space_ctl *ctl, | ||||
| 
 | ||||
| /* Used by test_steal_space_from_bitmap_to_extent(). */ | ||||
| static int | ||||
| check_num_extents_and_bitmaps(const struct btrfs_block_group_cache *cache, | ||||
| check_num_extents_and_bitmaps(const struct btrfs_block_group *cache, | ||||
| 			      const int num_extents, | ||||
| 			      const int num_bitmaps) | ||||
| { | ||||
| @ -351,7 +350,7 @@ check_num_extents_and_bitmaps(const struct btrfs_block_group_cache *cache, | ||||
| } | ||||
| 
 | ||||
| /* Used by test_steal_space_from_bitmap_to_extent(). */ | ||||
| static int check_cache_empty(struct btrfs_block_group_cache *cache) | ||||
| static int check_cache_empty(struct btrfs_block_group *cache) | ||||
| { | ||||
| 	u64 offset; | ||||
| 	u64 max_extent_size; | ||||
| @ -393,7 +392,7 @@ static int check_cache_empty(struct btrfs_block_group_cache *cache) | ||||
|  * requests. | ||||
|  */ | ||||
| static int | ||||
| test_steal_space_from_bitmap_to_extent(struct btrfs_block_group_cache *cache, | ||||
| test_steal_space_from_bitmap_to_extent(struct btrfs_block_group *cache, | ||||
| 				       u32 sectorsize) | ||||
| { | ||||
| 	int ret; | ||||
| @ -829,7 +828,7 @@ test_steal_space_from_bitmap_to_extent(struct btrfs_block_group_cache *cache, | ||||
| int btrfs_test_free_space_cache(u32 sectorsize, u32 nodesize) | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info; | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	struct btrfs_root *root = NULL; | ||||
| 	int ret = -ENOMEM; | ||||
| 
 | ||||
|  | ||||
| @ -18,7 +18,7 @@ struct free_space_extent { | ||||
| 
 | ||||
| static int __check_free_space_extents(struct btrfs_trans_handle *trans, | ||||
| 				      struct btrfs_fs_info *fs_info, | ||||
| 				      struct btrfs_block_group_cache *cache, | ||||
| 				      struct btrfs_block_group *cache, | ||||
| 				      struct btrfs_path *path, | ||||
| 				      const struct free_space_extent * const extents, | ||||
| 				      unsigned int num_extents) | ||||
| @ -107,7 +107,7 @@ invalid: | ||||
| 
 | ||||
| static int check_free_space_extents(struct btrfs_trans_handle *trans, | ||||
| 				    struct btrfs_fs_info *fs_info, | ||||
| 				    struct btrfs_block_group_cache *cache, | ||||
| 				    struct btrfs_block_group *cache, | ||||
| 				    struct btrfs_path *path, | ||||
| 				    const struct free_space_extent * const extents, | ||||
| 				    unsigned int num_extents) | ||||
| @ -150,7 +150,7 @@ static int check_free_space_extents(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| static int test_empty_block_group(struct btrfs_trans_handle *trans, | ||||
| 				  struct btrfs_fs_info *fs_info, | ||||
| 				  struct btrfs_block_group_cache *cache, | ||||
| 				  struct btrfs_block_group *cache, | ||||
| 				  struct btrfs_path *path, | ||||
| 				  u32 alignment) | ||||
| { | ||||
| @ -164,7 +164,7 @@ static int test_empty_block_group(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| static int test_remove_all(struct btrfs_trans_handle *trans, | ||||
| 			   struct btrfs_fs_info *fs_info, | ||||
| 			   struct btrfs_block_group_cache *cache, | ||||
| 			   struct btrfs_block_group *cache, | ||||
| 			   struct btrfs_path *path, | ||||
| 			   u32 alignment) | ||||
| { | ||||
| @ -185,7 +185,7 @@ static int test_remove_all(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| static int test_remove_beginning(struct btrfs_trans_handle *trans, | ||||
| 				 struct btrfs_fs_info *fs_info, | ||||
| 				 struct btrfs_block_group_cache *cache, | ||||
| 				 struct btrfs_block_group *cache, | ||||
| 				 struct btrfs_path *path, | ||||
| 				 u32 alignment) | ||||
| { | ||||
| @ -208,7 +208,7 @@ static int test_remove_beginning(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| static int test_remove_end(struct btrfs_trans_handle *trans, | ||||
| 			   struct btrfs_fs_info *fs_info, | ||||
| 			   struct btrfs_block_group_cache *cache, | ||||
| 			   struct btrfs_block_group *cache, | ||||
| 			   struct btrfs_path *path, | ||||
| 			   u32 alignment) | ||||
| { | ||||
| @ -231,7 +231,7 @@ static int test_remove_end(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| static int test_remove_middle(struct btrfs_trans_handle *trans, | ||||
| 			      struct btrfs_fs_info *fs_info, | ||||
| 			      struct btrfs_block_group_cache *cache, | ||||
| 			      struct btrfs_block_group *cache, | ||||
| 			      struct btrfs_path *path, | ||||
| 			      u32 alignment) | ||||
| { | ||||
| @ -255,7 +255,7 @@ static int test_remove_middle(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| static int test_merge_left(struct btrfs_trans_handle *trans, | ||||
| 			   struct btrfs_fs_info *fs_info, | ||||
| 			   struct btrfs_block_group_cache *cache, | ||||
| 			   struct btrfs_block_group *cache, | ||||
| 			   struct btrfs_path *path, | ||||
| 			   u32 alignment) | ||||
| { | ||||
| @ -292,7 +292,7 @@ static int test_merge_left(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| static int test_merge_right(struct btrfs_trans_handle *trans, | ||||
| 			   struct btrfs_fs_info *fs_info, | ||||
| 			   struct btrfs_block_group_cache *cache, | ||||
| 			   struct btrfs_block_group *cache, | ||||
| 			   struct btrfs_path *path, | ||||
| 			   u32 alignment) | ||||
| { | ||||
| @ -330,7 +330,7 @@ static int test_merge_right(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| static int test_merge_both(struct btrfs_trans_handle *trans, | ||||
| 			   struct btrfs_fs_info *fs_info, | ||||
| 			   struct btrfs_block_group_cache *cache, | ||||
| 			   struct btrfs_block_group *cache, | ||||
| 			   struct btrfs_path *path, | ||||
| 			   u32 alignment) | ||||
| { | ||||
| @ -373,7 +373,7 @@ static int test_merge_both(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| static int test_merge_none(struct btrfs_trans_handle *trans, | ||||
| 			   struct btrfs_fs_info *fs_info, | ||||
| 			   struct btrfs_block_group_cache *cache, | ||||
| 			   struct btrfs_block_group *cache, | ||||
| 			   struct btrfs_path *path, | ||||
| 			   u32 alignment) | ||||
| { | ||||
| @ -418,7 +418,7 @@ static int test_merge_none(struct btrfs_trans_handle *trans, | ||||
| 
 | ||||
| typedef int (*test_func_t)(struct btrfs_trans_handle *, | ||||
| 			   struct btrfs_fs_info *, | ||||
| 			   struct btrfs_block_group_cache *, | ||||
| 			   struct btrfs_block_group *, | ||||
| 			   struct btrfs_path *, | ||||
| 			   u32 alignment); | ||||
| 
 | ||||
| @ -427,7 +427,7 @@ static int run_test(test_func_t test_func, int bitmaps, u32 sectorsize, | ||||
| { | ||||
| 	struct btrfs_fs_info *fs_info; | ||||
| 	struct btrfs_root *root = NULL; | ||||
| 	struct btrfs_block_group_cache *cache = NULL; | ||||
| 	struct btrfs_block_group *cache = NULL; | ||||
| 	struct btrfs_trans_handle trans; | ||||
| 	struct btrfs_path *path = NULL; | ||||
| 	int ret; | ||||
|  | ||||
| @ -133,10 +133,10 @@ void btrfs_put_transaction(struct btrfs_transaction *transaction) | ||||
| 		 * discard the physical locations of the block groups. | ||||
| 		 */ | ||||
| 		while (!list_empty(&transaction->deleted_bgs)) { | ||||
| 			struct btrfs_block_group_cache *cache; | ||||
| 			struct btrfs_block_group *cache; | ||||
| 
 | ||||
| 			cache = list_first_entry(&transaction->deleted_bgs, | ||||
| 						 struct btrfs_block_group_cache, | ||||
| 						 struct btrfs_block_group, | ||||
| 						 bg_list); | ||||
| 			list_del_init(&cache->bg_list); | ||||
| 			btrfs_put_block_group_trimming(cache); | ||||
| @ -1937,7 +1937,7 @@ static void cleanup_transaction(struct btrfs_trans_handle *trans, int err) | ||||
| static void btrfs_cleanup_pending_block_groups(struct btrfs_trans_handle *trans) | ||||
| { | ||||
|        struct btrfs_fs_info *fs_info = trans->fs_info; | ||||
|        struct btrfs_block_group_cache *block_group, *tmp; | ||||
|        struct btrfs_block_group *block_group, *tmp; | ||||
| 
 | ||||
|        list_for_each_entry_safe(block_group, tmp, &trans->new_bgs, bg_list) { | ||||
|                btrfs_delayed_refs_rsv_release(fs_info, 1); | ||||
|  | ||||
| @ -2997,7 +2997,7 @@ error: | ||||
| static int btrfs_may_alloc_data_chunk(struct btrfs_fs_info *fs_info, | ||||
| 				      u64 chunk_offset) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	u64 bytes_used; | ||||
| 	u64 chunk_type; | ||||
| 
 | ||||
| @ -3206,7 +3206,7 @@ static int chunk_profiles_filter(u64 chunk_type, | ||||
| static int chunk_usage_range_filter(struct btrfs_fs_info *fs_info, u64 chunk_offset, | ||||
| 			      struct btrfs_balance_args *bargs) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	u64 chunk_used; | ||||
| 	u64 user_thresh_min; | ||||
| 	u64 user_thresh_max; | ||||
| @ -3239,7 +3239,7 @@ static int chunk_usage_range_filter(struct btrfs_fs_info *fs_info, u64 chunk_off | ||||
| static int chunk_usage_filter(struct btrfs_fs_info *fs_info, | ||||
| 		u64 chunk_offset, struct btrfs_balance_args *bargs) | ||||
| { | ||||
| 	struct btrfs_block_group_cache *cache; | ||||
| 	struct btrfs_block_group *cache; | ||||
| 	u64 chunk_used, user_thresh; | ||||
| 	int ret = 1; | ||||
| 
 | ||||
|  | ||||
| @ -19,7 +19,7 @@ struct btrfs_delayed_ref_node; | ||||
| struct btrfs_delayed_tree_ref; | ||||
| struct btrfs_delayed_data_ref; | ||||
| struct btrfs_delayed_ref_head; | ||||
| struct btrfs_block_group_cache; | ||||
| struct btrfs_block_group; | ||||
| struct btrfs_free_cluster; | ||||
| struct map_lookup; | ||||
| struct extent_buffer; | ||||
| @ -699,7 +699,7 @@ TRACE_EVENT(btrfs_sync_fs, | ||||
| TRACE_EVENT(btrfs_add_block_group, | ||||
| 
 | ||||
| 	TP_PROTO(const struct btrfs_fs_info *fs_info, | ||||
| 		 const struct btrfs_block_group_cache *block_group, int create), | ||||
| 		 const struct btrfs_block_group *block_group, int create), | ||||
| 
 | ||||
| 	TP_ARGS(fs_info, block_group, create), | ||||
| 
 | ||||
| @ -1184,7 +1184,7 @@ TRACE_EVENT(find_free_extent, | ||||
| 
 | ||||
| DECLARE_EVENT_CLASS(btrfs__reserve_extent, | ||||
| 
 | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start, | ||||
| 	TP_PROTO(const struct btrfs_block_group *block_group, u64 start, | ||||
| 		 u64 len), | ||||
| 
 | ||||
| 	TP_ARGS(block_group, start, len), | ||||
| @ -1214,7 +1214,7 @@ DECLARE_EVENT_CLASS(btrfs__reserve_extent, | ||||
| 
 | ||||
| DEFINE_EVENT(btrfs__reserve_extent, btrfs_reserve_extent, | ||||
| 
 | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start, | ||||
| 	TP_PROTO(const struct btrfs_block_group *block_group, u64 start, | ||||
| 		 u64 len), | ||||
| 
 | ||||
| 	TP_ARGS(block_group, start, len) | ||||
| @ -1222,7 +1222,7 @@ DEFINE_EVENT(btrfs__reserve_extent, btrfs_reserve_extent, | ||||
| 
 | ||||
| DEFINE_EVENT(btrfs__reserve_extent, btrfs_reserve_extent_cluster, | ||||
| 
 | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start, | ||||
| 	TP_PROTO(const struct btrfs_block_group *block_group, u64 start, | ||||
| 		 u64 len), | ||||
| 
 | ||||
| 	TP_ARGS(block_group, start, len) | ||||
| @ -1230,7 +1230,7 @@ DEFINE_EVENT(btrfs__reserve_extent, btrfs_reserve_extent_cluster, | ||||
| 
 | ||||
| TRACE_EVENT(btrfs_find_cluster, | ||||
| 
 | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start, | ||||
| 	TP_PROTO(const struct btrfs_block_group *block_group, u64 start, | ||||
| 		 u64 bytes, u64 empty_size, u64 min_bytes), | ||||
| 
 | ||||
| 	TP_ARGS(block_group, start, bytes, empty_size, min_bytes), | ||||
| @ -1263,7 +1263,7 @@ TRACE_EVENT(btrfs_find_cluster, | ||||
| 
 | ||||
| TRACE_EVENT(btrfs_failed_cluster_setup, | ||||
| 
 | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *block_group), | ||||
| 	TP_PROTO(const struct btrfs_block_group *block_group), | ||||
| 
 | ||||
| 	TP_ARGS(block_group), | ||||
| 
 | ||||
| @ -1280,7 +1280,7 @@ TRACE_EVENT(btrfs_failed_cluster_setup, | ||||
| 
 | ||||
| TRACE_EVENT(btrfs_setup_cluster, | ||||
| 
 | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *block_group, | ||||
| 	TP_PROTO(const struct btrfs_block_group *block_group, | ||||
| 		 const struct btrfs_free_cluster *cluster, | ||||
| 		 u64 size, int bitmap), | ||||
| 
 | ||||
| @ -1844,7 +1844,7 @@ TRACE_EVENT(btrfs_inode_mod_outstanding_extents, | ||||
| ); | ||||
| 
 | ||||
| DECLARE_EVENT_CLASS(btrfs__block_group, | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *bg_cache), | ||||
| 	TP_PROTO(const struct btrfs_block_group *bg_cache), | ||||
| 
 | ||||
| 	TP_ARGS(bg_cache), | ||||
| 
 | ||||
| @ -1868,19 +1868,19 @@ DECLARE_EVENT_CLASS(btrfs__block_group, | ||||
| ); | ||||
| 
 | ||||
| DEFINE_EVENT(btrfs__block_group, btrfs_remove_block_group, | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *bg_cache), | ||||
| 	TP_PROTO(const struct btrfs_block_group *bg_cache), | ||||
| 
 | ||||
| 	TP_ARGS(bg_cache) | ||||
| ); | ||||
| 
 | ||||
| DEFINE_EVENT(btrfs__block_group, btrfs_add_unused_block_group, | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *bg_cache), | ||||
| 	TP_PROTO(const struct btrfs_block_group *bg_cache), | ||||
| 
 | ||||
| 	TP_ARGS(bg_cache) | ||||
| ); | ||||
| 
 | ||||
| DEFINE_EVENT(btrfs__block_group, btrfs_skip_unused_block_group, | ||||
| 	TP_PROTO(const struct btrfs_block_group_cache *bg_cache), | ||||
| 	TP_PROTO(const struct btrfs_block_group *bg_cache), | ||||
| 
 | ||||
| 	TP_ARGS(bg_cache) | ||||
| ); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user