ilookup5_nowait — 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);


struct super_block * sb

super block of file system to search

unsigned long hashval

hash value (usually inode number) to search for

int (*)(struct inode *, void *) test

callback used for comparisons between inodes

void * 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.

Note2: test is called with the inode_hash_lock held, so can't sleep.