ilookup5 — search for an inode in the inode cache


struct inode * ilookup5 (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, and if the inode is in the cache, return the inode with an incremented reference count. Waits on I_NEW before returning the inode. returned with an incremented reference count.

This is a generalized version of ilookup for file systems where the inode number is not sufficient for unique identification of an inode.


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