/* find_inode_fast is the fast path version of find_inode, see the comment at iget_locked for details.  */
static struct inode* find_inode_fast(struct super_block *sb, struct hlist_head *head, unsigned long ino)
/* find_inode_fast is the fast path version of find_inode, see the comment at iget_locked for details.  */
static struct inode* find_inode_fast(struct super_block *sb, struct hlist_head *head, unsigned long ino)
{
	struct hlist_node *node;
	struct inode *inode = NULL;
repeat:
	hlist_for_each_entry(inode, node, head, i_hash) {
		if (inode->i_ino != ino)
			continue;
		if (inode->i_sb != sb)
			continue;
		if (inode->i_state & (I_FREEING|I_CLEAR|I_WILL_FREE)) {
			__wait_on_freeing_inode(inode);
			goto repeat;
		}
		break;
	}
	return node ? inode : NULL;
}