iget5_locked(9)
NAME
iget5_locked - obtain an inode from a mounted file system
SYNOPSIS
struct inode * iget5_locked(struct super_block * sb,
unsigned long hashval,
int (*test) (struct inode *, void *),
int (*set) (struct inode *, void *),
void * data);
ARGUMENTS
- sb
- super block of file system
- hashval
- hash value (usually inode number) to get
- test
- callback used for comparisons between inodes
- set
- callback used to initialize a new struct inode
- data
- opaque data pointer to pass to test and set
DESCRIPTION
iget5_locked uses ifind to search for the inode specified by hashval
and data in the inode cache and if present it is returned with an
increased reference count. This is a generalized version of iget_locked
for file systems where the inode number is not sufficient for unique
identification of an inode.
If the inode is not in cache, get_new_inode is called to allocate a new
inode and this is returned locked, hashed, and with the I_NEW flag set.
The file system gets to fill it in before unlocking it via
unlock_new_inode.
Note both test and set are called with the inode_lock held, so canīt
sleep.