.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "IGET5_LOCKED" "9" "09 October 2005" "" ""
.SH NAME
iget5_locked \- obtain an inode from a mounted file system
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
struct inode * iget5_locked (struct super_block * \fIsb\fB, unsigned long \fIhashval\fB, int (*\fItest\fB)
struct inode *, void *, int (*\fIset\fB)
struct inode *, void *, void * \fIdata\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIsb\fB\fR
super block of file system
.TP
\fB\fIhashval\fB\fR
hash value (usually inode number) to get
.TP
\fB\fItest\fB\fR
callback used for comparisons between inodes
.TP
\fB\fIset\fB\fR
callback used to initialize a new struct inode
.TP
\fB\fIdata\fB\fR
opaque data pointer to pass to \fItest\fR and \fIset\fR
.SH "DESCRIPTION"
.PP
This is \fBiget\fR without the \fBread_inode\fR portion of \fBget_new_inode\fR\&.
.PP
\fBiget5_locked\fR uses \fBifind\fR to search for the inode specified by \fIhashval\fR
and \fIdata\fR in the inode cache and if present it is returned with an increased
reference count. This is a generalized version of \fBiget_locked\fR for file
systems where the inode number is not sufficient for unique identification
of an inode.
.PP
If the inode is not in cache, \fBget_new_inode\fR 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 \fBunlock_new_inode\fR\&.
.PP
Note both \fItest\fR and \fIset\fR are called with the inode_lock held, so can't sleep.