/* All files which have been polled are linked to RB tree fuse_conn->polled_files which is indexed by kh. Walk the tree and find the matching one.  */
static struct rb_node** fuse_find_polled_node(struct fuse_conn *fc, u64 kh, struct rb_node **parent_out)
/* All files which have been polled are linked to RB tree fuse_conn->polled_files which is indexed by kh. Walk the tree and find the matching one.  */
static struct rb_node** fuse_find_polled_node(struct fuse_conn *fc, u64 kh, struct rb_node **parent_out)
{
	struct rb_node **link = &fc->polled_files.rb_node;
	struct rb_node *last = NULL;
	while (*link) {
		struct fuse_file *ff;
		last = *link;
		ff = rb_entry(last, struct fuse_file, polled_node);
		if (kh < ff->kh)
			link = &last->rb_left;
		else if (kh > ff->kh)
			link = &last->rb_right;
		else
			return link;
	}
	if (parent_out)
		*parent_out = last;
	return link;
}