.\" 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 "MPAGE_WRITEPAGES" "9" "09 October 2005" "" ""
.SH NAME
mpage_writepages \- walk the list of dirty pages of the given
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int mpage_writepages (struct address_space * \fImapping\fB, struct writeback_control * \fIwbc\fB, get_block_t \fIget_block\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fImapping\fB\fR
address space structure to write
.TP
\fB\fIwbc\fB\fR
subtract the number of written pages from *\fIwbc\fR->nr_to_write
.TP
\fB\fIget_block\fB\fR
the filesystem's block mapper function.
If this is NULL then use a_ops->writepage. Otherwise, go
direct-to-BIO.
.SH "DESCRIPTION"
.PP
This is a library function, which implements the \fBwritepages\fR
address_space_operation.
.PP
If a page is already under I/O, \fBgeneric_writepages\fR skips it, even
if it's dirty. This is desirable behaviour for memory-cleaning writeback,
but it is INCORRECT for data-integrity system calls such as \fBfsync\fR\&. \fBfsync\fR
and \fBmsync\fR need to guarantee that all the data which was dirty at the time
the call was made get new I/O started against them. If wbc->sync_mode is
WB_SYNC_ALL then we were called for data integrity and we must wait for
existing IO to complete.
.SH "DESCRIPTION"
.PP
This is a library function, which implements the \fBwritepages\fR
address_space_operation.
.PP
If a page is already under I/O, \fBgeneric_writepages\fR skips it, even
if it's dirty. This is desirable behaviour for memory-cleaning writeback,
but it is INCORRECT for data-integrity system calls such as \fBfsync\fR\&. \fBfsync\fR
and \fBmsync\fR need to guarantee that all the data which was dirty at the time
the call was made get new I/O started against them. If wbc->sync_mode is
WB_SYNC_ALL then we were called for data integrity and we must wait for
existing IO to complete.