diff options
author | Qu Wenruo <wqu@suse.com> | 2018-01-18 16:38:23 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2018-02-02 16:01:59 +0100 |
commit | 5dade4b9514cbb765c9c2905172bb371b7479a77 (patch) | |
tree | c2aa062508eb51dfc85c7fed6c068d7ef2d60fea /check | |
parent | 3d3ce73d90d71a3a31b7144536285fa847df9c80 (diff) |
btrfs-progs: check: Move reset_cached_block_groups to check/common.c
Reviewed-by: Su Yue <suy.fnst@cn.fujitsu.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'check')
-rw-r--r-- | check/common.c | 25 | ||||
-rw-r--r-- | check/common.h | 1 | ||||
-rw-r--r-- | check/main.c | 27 |
3 files changed, 26 insertions, 27 deletions
diff --git a/check/common.c b/check/common.c index 4cdc46b0..d6abf6d6 100644 --- a/check/common.c +++ b/check/common.c @@ -324,3 +324,28 @@ int check_child_node(struct extent_buffer *parent, int slot, } return ret; } + +void reset_cached_block_groups(struct btrfs_fs_info *fs_info) +{ + struct btrfs_block_group_cache *cache; + u64 start, end; + int ret; + + while (1) { + ret = find_first_extent_bit(&fs_info->free_space_cache, 0, + &start, &end, EXTENT_DIRTY); + if (ret) + break; + clear_extent_dirty(&fs_info->free_space_cache, start, end); + } + + start = 0; + while (1) { + cache = btrfs_lookup_first_block_group(fs_info, start); + if (!cache) + break; + if (cache->cached) + cache->cached = 0; + start = cache->key.objectid + cache->key.offset; + } +} diff --git a/check/common.h b/check/common.h index d200a0c9..09745af4 100644 --- a/check/common.h +++ b/check/common.h @@ -95,5 +95,6 @@ void reada_walk_down(struct btrfs_root *root, struct extent_buffer *node, int slot); int check_child_node(struct extent_buffer *parent, int slot, struct extent_buffer *child); +void reset_cached_block_groups(struct btrfs_fs_info *fs_info); #endif diff --git a/check/main.c b/check/main.c index 1a296015..6f5af7fb 100644 --- a/check/main.c +++ b/check/main.c @@ -412,8 +412,6 @@ static void free_file_extent_holes(struct rb_root *holes) } } -static void reset_cached_block_groups(struct btrfs_fs_info *fs_info); - static void record_root_in_trans(struct btrfs_trans_handle *trans, struct btrfs_root *root) { @@ -10202,31 +10200,6 @@ static int prune_corrupt_blocks(struct btrfs_fs_info *info) return 0; } -static void reset_cached_block_groups(struct btrfs_fs_info *fs_info) -{ - struct btrfs_block_group_cache *cache; - u64 start, end; - int ret; - - while (1) { - ret = find_first_extent_bit(&fs_info->free_space_cache, 0, - &start, &end, EXTENT_DIRTY); - if (ret) - break; - clear_extent_dirty(&fs_info->free_space_cache, start, end); - } - - start = 0; - while (1) { - cache = btrfs_lookup_first_block_group(fs_info, start); - if (!cache) - break; - if (cache->cached) - cache->cached = 0; - start = cache->key.objectid + cache->key.offset; - } -} - static int check_extent_refs(struct btrfs_root *root, struct cache_tree *extent_cache) { |