.\" 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" "9" "09 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[4]\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[4]\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.