.\" 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 "EXT3_SPLICE_BRANCH" "" "06 October 2005" "" ""
.SH NAME
ext3_splice_branch \- splice the allocated branch onto inode.
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int ext3_splice_branch (handle_t * \fIhandle\fB, struct inode * \fIinode\fB, long \fIblock\fB, Indirect * \fIchain\fB, Indirect * \fIwhere\fB, int \fInum\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIhandle\fB\fR
-- undescribed --
.TP
\fB\fIinode\fB\fR
owner
.TP
\fB\fIblock\fB\fR
(logical) number of block we are adding
.TP
\fB\fIchain\fB\fR
chain of indirect blocks (with a missing link - see
ext3_alloc_branch)
.TP
\fB\fIwhere\fB\fR
location of missing link
.TP
\fB\fInum\fB\fR
number of blocks we are adding
.SH "DESCRIPTION"
.PP
This function verifies that chain (up to the missing link) had not
changed, fills the missing link and does all housekeeping needed in
inode (->i_blocks, etc.). In case of success we end up with the full
chain to new block and return 0. Otherwise (== chain had been changed)
we free the new blocks (forgetting their buffer_heads, indeed) and
return -EAGAIN.