aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page-writeback.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2017-07-05 15:26:48 -0400
committerJeff Layton <jlayton@redhat.com>2017-07-05 18:44:22 -0400
commit2b69c8280c8b29cdeb78b8e92e20ed35f730d319 (patch)
treec45006b6d5b6ac0a5743b164bfa61b06491b4c53 /mm/page-writeback.c
parentc86daad2c25bfd4a33d48b7691afaa96d9c5ab46 (diff)
mm: drop "wait" parameter from write_one_page()
The callers all set it to 1. Also, make it clear that this function will not set any sort of AS_* error, and that the caller must do so if necessary. No existing caller uses this on normal files, so none of them need it. Also, add __must_check here since, in general, the callers need to handle an error here in some fashion. Link: http://lkml.kernel.org/r/20170525103303.6524-1-jlayton@redhat.com Signed-off-by: Jeff Layton <jlayton@redhat.com> Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com> Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Matthew Wilcox <mawilcox@microsoft.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r--mm/page-writeback.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 143c1c25d680..b901fe52b153 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2366,15 +2366,16 @@ int do_writepages(struct address_space *mapping, struct writeback_control *wbc)
2366} 2366}
2367 2367
2368/** 2368/**
2369 * write_one_page - write out a single page and optionally wait on I/O 2369 * write_one_page - write out a single page and wait on I/O
2370 * @page: the page to write 2370 * @page: the page to write
2371 * @wait: if true, wait on writeout
2372 * 2371 *
2373 * The page must be locked by the caller and will be unlocked upon return. 2372 * The page must be locked by the caller and will be unlocked upon return.
2374 * 2373 *
2375 * write_one_page() returns a negative error code if I/O failed. 2374 * write_one_page() returns a negative error code if I/O failed. Note that
2375 * the address_space is not marked for error. The caller must do this if
2376 * needed.
2376 */ 2377 */
2377int write_one_page(struct page *page, int wait) 2378int write_one_page(struct page *page)
2378{ 2379{
2379 struct address_space *mapping = page->mapping; 2380 struct address_space *mapping = page->mapping;
2380 int ret = 0; 2381 int ret = 0;
@@ -2385,13 +2386,12 @@ int write_one_page(struct page *page, int wait)
2385 2386
2386 BUG_ON(!PageLocked(page)); 2387 BUG_ON(!PageLocked(page));
2387 2388
2388 if (wait) 2389 wait_on_page_writeback(page);
2389 wait_on_page_writeback(page);
2390 2390
2391 if (clear_page_dirty_for_io(page)) { 2391 if (clear_page_dirty_for_io(page)) {
2392 get_page(page); 2392 get_page(page);
2393 ret = mapping->a_ops->writepage(page, &wbc); 2393 ret = mapping->a_ops->writepage(page, &wbc);
2394 if (ret == 0 && wait) { 2394 if (ret == 0) {
2395 wait_on_page_writeback(page); 2395 wait_on_page_writeback(page);
2396 if (PageError(page)) 2396 if (PageError(page))
2397 ret = -EIO; 2397 ret = -EIO;