/* look find the first ordered struct that has this offset, otherwise the first one less than this offset  */
static struct rb_node* tree_search(struct btrfs_ordered_inode_tree *tree, u64 file_offset)
/* look find the first ordered struct that has this offset, otherwise the first one less than this offset  */
static struct rb_node* tree_search(struct btrfs_ordered_inode_tree *tree, u64 file_offset)
{
	struct rb_root *root = &tree->tree;
	struct rb_node *prev;
	struct rb_node *ret;
	struct btrfs_ordered_extent *entry;
	if (tree->last) {
		entry = rb_entry(tree->last, struct btrfs_ordered_extent,
				 rb_node);
		if (offset_in_entry(entry, file_offset))
			return tree->last;
	}
	ret = __tree_search(root, file_offset, &prev);
	if (!ret)
		ret = prev;
	if (ret)
		tree->last = ret;
	return ret;
}