write_cache_pages

Langue: en

Autres versions - même langue

Version: June 2009 (debian - 07/07/09)

Section: 9 (Appels noyau Linux)

NAME

write_cache_pages - walk the list of dirty pages of the given address space and write all of them.

SYNOPSIS

int write_cache_pages(struct address_space * mapping, struct writeback_control * wbc, writepage_t writepage, void * data);

ARGUMENTS

mapping

address space structure to write

wbc

subtract the number of written pages from *wbc->nr_to_write

writepage

function called for each page

data

data passed to writepage function

DESCRIPTION

If a page is already under I/O, write_cache_pages 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 fsync. fsync and msync 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.