mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-01 10:42:11 +00:00
mm: Wait for writeback when grabbing pages to begin a write
When grabbing a page for a buffered IO write, the mm should wait for writeback on the page to complete so that the page does not become writable during the IO operation. This change is needed to provide page stability during writes for all filesystems. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
98702467f8
commit
3d08bcc887
@ -2327,7 +2327,7 @@ struct page *grab_cache_page_write_begin(struct address_space *mapping,
|
||||
repeat:
|
||||
page = find_lock_page(mapping, index);
|
||||
if (page)
|
||||
return page;
|
||||
goto found;
|
||||
|
||||
page = __page_cache_alloc(mapping_gfp_mask(mapping) & ~gfp_notmask);
|
||||
if (!page)
|
||||
@ -2340,6 +2340,8 @@ struct page *grab_cache_page_write_begin(struct address_space *mapping,
|
||||
goto repeat;
|
||||
return NULL;
|
||||
}
|
||||
found:
|
||||
wait_on_page_writeback(page);
|
||||
return page;
|
||||
}
|
||||
EXPORT_SYMBOL(grab_cache_page_write_begin);
|
||||
|
Loading…
Reference in New Issue
Block a user