Search for an inode in the inode cache
struct inode * ilookup5_nowait(struct super_block * sb, unsigned long hashval, int (*test) (struct inode *, void *), void * data);
sb
super block of file system to search
hashval
hash value (usually inode number) to search for
test
callback used for comparisons between inodes
data
opaque data pointer to pass to test
Search for the inode specified by hashval and data in the inode cache. If the inode is in the cache, the inode is returned with an incremented reference count.
I_NEW is not waited upon so you have to be very careful what you do with the returned inode. You probably should be using ilookup5 instead.
test is called with the inode_hash_lock held, so can't sleep.