[PATCH 13/31] btrfs: remove struct tree_entry

Josef Bacik
2022-09-02T20:17:18Z

This existed when we overloaded the tree manipulation functions for both
the extent_io_tree and the extent buffer tree. However the extent
buffers are now stored in a radix tree, so we no longer need this
abstraction. Remove struct tree_entry and use extent_state directly
instead.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
fs/btrfs/extent-io-tree.c | 30 ++++++++++++------------------
1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/fs/btrfs/extent-io-tree.c b/fs/btrfs/extent-io-tree.c
index 850c4e1c83f5..4e3cbb4edbe2 100644
--- a/fs/btrfs/extent-io-tree.c
+++ b/fs/btrfs/extent-io-tree.c
@@ -71,12 +71,6 @@ static inline void __btrfs_debug_check_extent_io_range(const char *caller,
#define btrfs_debug_check_extent_io_range(c, s, e) do {} while (0)
#endif

-struct tree_entry {
- u64 start;
- u64 end;
- struct rb_node rb_node;
-};
-
/*
* For the file_extent_tree, we want to hold the inode lock when we lookup and
* update the disk_i_size, but lockdep will complain because our io_tree we hold
@@ -258,11 +252,11 @@ static inline struct rb_node *tree_search_for_insert(struct extent_io_tree *tree
struct rb_root *root = &tree->state;
struct rb_node **node = &root->rb_node;
struct rb_node *prev = NULL;
- struct tree_entry *entry;
+ struct extent_state *entry;

while (*node) {
prev = *node;
- entry = rb_entry(prev, struct tree_entry, rb_node);
+ entry = rb_entry(prev, struct extent_state, rb_node);

if (offset < entry->start)
node = &(*node)->rb_left;
@@ -280,7 +274,7 @@ static inline struct rb_node *tree_search_for_insert(struct extent_io_tree *tree
/* Search neighbors until we find the first one past the end */
while (prev && offset > entry->end) {
prev = rb_next(prev);
- entry = rb_entry(prev, struct tree_entry, rb_node);
+ entry = rb_entry(prev, struct extent_state, rb_node);
}

return prev;
@@ -315,14 +309,14 @@ static struct rb_node *tree_search_prev_next(struct extent_io_tree *tree,
struct rb_node **node = &root->rb_node;
struct rb_node *prev = NULL;
struct rb_node *orig_prev = NULL;
- struct tree_entry *entry;
+ struct extent_state *entry;

ASSERT(prev_ret);
ASSERT(next_ret);

while (*node) {
prev = *node;
- entry = rb_entry(prev, struct tree_entry, rb_node);
+ entry = rb_entry(prev, struct extent_state, rb_node);

if (offset < entry->start)
node = &(*node)->rb_left;
@@ -335,15 +329,15 @@ static struct rb_node *tree_search_prev_next(struct extent_io_tree *tree,
orig_prev = prev;
while (prev && offset > entry->end) {
prev = rb_next(prev);
- entry = rb_entry(prev, struct tree_entry, rb_node);
+ entry = rb_entry(prev, struct extent_state, rb_node);
}
*next_ret = prev;
prev = orig_prev;

- entry = rb_entry(prev, struct tree_entry, rb_node);
+ entry = rb_entry(prev, struct extent_state, rb_node);
while (prev && offset < entry->start) {
prev = rb_prev(prev);
- entry = rb_entry(prev, struct tree_entry, rb_node);
+ entry = rb_entry(prev, struct extent_state, rb_node);
}
*prev_ret = prev;

@@ -426,10 +420,10 @@ static int insert_state(struct extent_io_tree *tree,

node = &tree->state.rb_node;
while (*node) {
- struct tree_entry *entry;
+ struct extent_state *entry;

parent = *node;
- entry = rb_entry(parent, struct tree_entry, rb_node);
+ entry = rb_entry(parent, struct extent_state, rb_node);

if (end < entry->start) {
node = &(*node)->rb_left;
@@ -495,10 +489,10 @@ static int split_state(struct extent_io_tree *tree, struct extent_state *orig,
parent = &orig->rb_node;
node = &parent;
while (*node) {
- struct tree_entry *entry;
+ struct extent_state *entry;

parent = *node;
- entry = rb_entry(parent, struct tree_entry, rb_node);
+ entry = rb_entry(parent, struct extent_state, rb_node);

if (prealloc->end < entry->start) {
node = &(*node)->rb_left;
--
2.26.3