Rechercher une page de manuel
truncate_inode_pages_range
Langue: en
Version: June 2009 (debian - 07/07/09)
Section: 9 (Appels noyau Linux)
NAME
truncate_inode_pages_range - truncate range of pages specified by start & end byte offsetsSYNOPSIS
- void truncate_inode_pages_range(struct address_space * mapping, loff_t lstart, loff_t lend);
ARGUMENTS
mapping
- mapping to truncate
lstart
- offset from which to truncate
lend
- offset to which to truncate
DESCRIPTION
Truncate the page cache, removing the pages that are between specified offsets (and zeroing out partial page (if lstart is not page aligned)).
Truncate takes two passes - the first pass is nonblocking. It will not block on page locks and it will not block on writeback. The second pass will wait. This is to prevent as much IO as possible in the affected region. The first pass will remove most pages, so the search cost of the second pass is low.
When looking at page->index outside the page lock we need to be careful to copy it into a local to avoid races (it could change at any time).
We pass down the cache-hot hint to the page freeing code. Even if the mapping is large, it is probably the case that the final pages are the most recently touched, and freeing happens in ascending file offset order.
COPYRIGHT
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre