btrfs: Document __etree_search

The function has a lot of return values and specific conventions making
it cumbersome to understand what's returned. Have a go at documenting
its parameters and return values.

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Nikolay Borisov 2019-06-05 14:50:04 +03:00 committed by David Sterba
parent 1eaebb341d
commit 8666e638b0

View File

@ -359,6 +359,24 @@ static struct rb_node *tree_insert(struct rb_root *root,
return NULL; return NULL;
} }
/**
* __etree_search - searche @tree for an entry that contains @offset. Such
* entry would have entry->start <= offset && entry->end >= offset.
*
* @tree - the tree to search
* @offset - offset that should fall within an entry in @tree
* @next_ret - pointer to the first entry whose range ends after @offset
* @prev - pointer to the first entry whose range begins before @offset
* @p_ret - pointer where new node should be anchored (used when inserting an
* entry in the tree)
* @parent_ret - points to entry which would have been the parent of the entry,
* containing @offset
*
* This function returns a pointer to the entry that contains @offset byte
* address. If no such entry exists, then NULL is returned and the other
* pointer arguments to the function are filled, otherwise the found entry is
* returned and other pointers are left untouched.
*/
static struct rb_node *__etree_search(struct extent_io_tree *tree, u64 offset, static struct rb_node *__etree_search(struct extent_io_tree *tree, u64 offset,
struct rb_node **next_ret, struct rb_node **next_ret,
struct rb_node **prev_ret, struct rb_node **prev_ret,