btrfs: backref: rename and move backref_cache_cleanup()
authorQu Wenruo <wqu@suse.com>
Tue, 3 Mar 2020 05:55:12 +0000 (13:55 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 May 2020 09:25:20 +0000 (11:25 +0200)
Since we're releasing all existing nodes/edges, other than cleanup the
mess after error, "release" is a more proper naming here.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/backref.c
fs/btrfs/backref.h
fs/btrfs/relocation.c

index daac20c1a4176db8edc620766244a02a9d7683f0..44808a0b480fea7669e314c957c32d5c71210fa2 100644 (file)
@@ -2559,3 +2559,36 @@ void btrfs_backref_cleanup_node(struct btrfs_backref_cache *cache,
 
        btrfs_backref_drop_node(cache, node);
 }
+
+/*
+ * Release all nodes/edges from current cache
+ */
+void btrfs_backref_release_cache(struct btrfs_backref_cache *cache)
+{
+       struct btrfs_backref_node *node;
+       int i;
+
+       while (!list_empty(&cache->detached)) {
+               node = list_entry(cache->detached.next,
+                                 struct btrfs_backref_node, list);
+               btrfs_backref_cleanup_node(cache, node);
+       }
+
+       while (!list_empty(&cache->leaves)) {
+               node = list_entry(cache->leaves.next,
+                                 struct btrfs_backref_node, lower);
+               btrfs_backref_cleanup_node(cache, node);
+       }
+
+       cache->last_trans = 0;
+
+       for (i = 0; i < BTRFS_MAX_LEVEL; i++)
+               ASSERT(list_empty(&cache->pending[i]));
+       ASSERT(list_empty(&cache->pending_edge));
+       ASSERT(list_empty(&cache->useless_node));
+       ASSERT(list_empty(&cache->changed));
+       ASSERT(list_empty(&cache->detached));
+       ASSERT(RB_EMPTY_ROOT(&cache->rb_root));
+       ASSERT(!cache->nr_nodes);
+       ASSERT(!cache->nr_edges);
+}
index 1710cf994f4cb8958b26b0d3aa46a293da5f6d63..5fb38dfb644010f48a6b96a853b83129d56f0422 100644 (file)
@@ -353,4 +353,6 @@ static inline void btrfs_backref_drop_node(struct btrfs_backref_cache *tree,
 void btrfs_backref_cleanup_node(struct btrfs_backref_cache *cache,
                                struct btrfs_backref_node *node);
 
+void btrfs_backref_release_cache(struct btrfs_backref_cache *cache);
+
 #endif
index 4b7d7d54c64bbb4bc858a134782dc47e635205fc..19481fd4afe6b1d705b35afc2839ff7a743dacc4 100644 (file)
@@ -175,36 +175,6 @@ static void mapping_tree_init(struct mapping_tree *tree)
        spin_lock_init(&tree->lock);
 }
 
-static void backref_cache_cleanup(struct btrfs_backref_cache *cache)
-{
-       struct btrfs_backref_node *node;
-       int i;
-
-       while (!list_empty(&cache->detached)) {
-               node = list_entry(cache->detached.next,
-                                 struct btrfs_backref_node, list);
-               btrfs_backref_cleanup_node(cache, node);
-       }
-
-       while (!list_empty(&cache->leaves)) {
-               node = list_entry(cache->leaves.next,
-                                 struct btrfs_backref_node, lower);
-               btrfs_backref_cleanup_node(cache, node);
-       }
-
-       cache->last_trans = 0;
-
-       for (i = 0; i < BTRFS_MAX_LEVEL; i++)
-               ASSERT(list_empty(&cache->pending[i]));
-       ASSERT(list_empty(&cache->pending_edge));
-       ASSERT(list_empty(&cache->useless_node));
-       ASSERT(list_empty(&cache->changed));
-       ASSERT(list_empty(&cache->detached));
-       ASSERT(RB_EMPTY_ROOT(&cache->rb_root));
-       ASSERT(!cache->nr_nodes);
-       ASSERT(!cache->nr_edges);
-}
-
 static void backref_tree_panic(struct rb_node *rb_node, int errno, u64 bytenr)
 {
 
@@ -3948,7 +3918,7 @@ restart:
        rc->create_reloc_tree = 0;
        set_reloc_control(rc);
 
-       backref_cache_cleanup(&rc->backref_cache);
+       btrfs_backref_release_cache(&rc->backref_cache);
        btrfs_block_rsv_release(fs_info, rc->block_rsv, (u64)-1, NULL);
 
        /*