OSDN Git Service

Btrfs: use next_state in find_first_extent_bit
authorLiu Bo <bo.liu@linux.alibaba.com>
Wed, 22 Aug 2018 19:14:53 +0000 (03:14 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 15 Oct 2018 15:23:28 +0000 (17:23 +0200)
As next_state() is already defined to get the next state, use it in
find_first_extent_bit. No functional changes.

Signed-off-by: Liu Bo <bo.liu@linux.alibaba.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c

index 4dd6faa..43bf4ec 100644 (file)
@@ -1424,20 +1424,15 @@ int find_first_extent_bit(struct extent_io_tree *tree, u64 start,
                          struct extent_state **cached_state)
 {
        struct extent_state *state;
-       struct rb_node *n;
        int ret = 1;
 
        spin_lock(&tree->lock);
        if (cached_state && *cached_state) {
                state = *cached_state;
                if (state->end == start - 1 && extent_state_in_tree(state)) {
-                       n = rb_next(&state->rb_node);
-                       while (n) {
-                               state = rb_entry(n, struct extent_state,
-                                                rb_node);
+                       while ((state = next_state(state)) != NULL) {
                                if (state->state & bits)
                                        goto got_it;
-                               n = rb_next(n);
                        }
                        free_extent_state(*cached_state);
                        *cached_state = NULL;