.\" 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 "EXT2_SPLICE_BRANCH" "" "06 October 2005" "" ""
.SH NAME
ext2_splice_branch \- splice the allocated branch onto inode.
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int ext2_splice_branch (struct inode * \fIinode\fB, long \fIblock\fB, Indirect * \fIchain\fB, Indirect * \fIwhere\fB, int \fInum\fB);
\fR
.SH "ARGUMENTS"
.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
ext2_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.