aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/filemap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/filemap.c b/mm/filemap.c
index bcdc393b6580..dac95a24deac 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2327,7 +2327,7 @@ struct page *grab_cache_page_write_begin(struct address_space *mapping,
2327repeat: 2327repeat:
2328 page = find_lock_page(mapping, index); 2328 page = find_lock_page(mapping, index);
2329 if (page) 2329 if (page)
2330 return page; 2330 goto found;
2331 2331
2332 page = __page_cache_alloc(mapping_gfp_mask(mapping) & ~gfp_notmask); 2332 page = __page_cache_alloc(mapping_gfp_mask(mapping) & ~gfp_notmask);
2333 if (!page) 2333 if (!page)
@@ -2340,6 +2340,8 @@ repeat:
2340 goto repeat; 2340 goto repeat;
2341 return NULL; 2341 return NULL;
2342 } 2342 }
2343found:
2344 wait_on_page_writeback(page);
2343 return page; 2345 return page;
2344} 2346}
2345EXPORT_SYMBOL(grab_cache_page_write_begin); 2347EXPORT_SYMBOL(grab_cache_page_write_begin);