Name

sync_page_range — write and wait on all pages in the passed range

Synopsis

int sync_page_range (struct inode *  inode,
 struct address_space *  mapping,
 loff_t  pos,
 loff_t  count);

Arguments

inode

target inode

mapping

target address_space

pos

beginning offset in pages to write

count

number of bytes to write

Description

Write and wait upon all the pages in the passed range. This is a “data integrity” operation. It waits upon in-flight writeout before starting and waiting upon new writeout. If there was an IO error, return it.

We need to re-take i_mutex during the generic_osync_inode list walk because it is otherwise livelockable.