Scroll to navigation

INODE_INSERT5(9) The Linux VFS INODE_INSERT5(9)

NAME

inode_insert5 - obtain an inode from a mounted file system

SYNOPSIS

struct inode * inode_insert5(struct inode * inode, unsigned long hashval, int (*test) (struct inode *, void *), int (*set) (struct inode *, void *), void * data);

ARGUMENTS

inode

pre-allocated inode to use for insert to cache

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

Search for the inode specified by hashval and data in the inode cache, and if present it is return it with an increased reference count. This is a variant of iget5_locked for callers that don't want to fail on memory allocation of inode.

If the inode is not in cache, insert the pre-allocated inode to cache and return it 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_hash_lock held, so can't sleep.

COPYRIGHT

June 2023 Kernel Hackers Manual 3.10