table of contents
other versions
- jessie 3.16.56-1+deb8u1
PAGECACHE_ISIZE_EXTE(9) | Memory Management in Linux | PAGECACHE_ISIZE_EXTE(9) |
NAME¶
pagecache_isize_extended - update pagecache after extension of i_sizeSYNOPSIS¶
void
pagecache_isize_extended(struct inode * inode,
loff_t from, loff_t to);
ARGUMENTS¶
inodeinode for which i_size was extended
from
original inode size
to
new inode size
DESCRIPTION¶
Handle extension of inode size either caused by extending truncate or by write starting after current i_size. We mark the page straddling current i_size RO so that page_mkwrite is called on the nearest write access to the page. This way filesystem can be sure that page_mkwrite is called on the page before user writes to the page via mmap after the i_size has been changed. The function must be called after i_size is updated so that page fault coming after we unlock the page will already see the new i_size. The function must be called while we still hold i_mutex - this not only makes sure i_size is stable but also that userspace cannot observe new i_size value before we are prepared to store mmap writes at new inode size.COPYRIGHT¶
May 2018 | Kernel Hackers Manual 3.16 |