Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+15 -15
+1 -1
fs/exofs/dir.c
··· 72 72 set_page_dirty(page); 73 73 74 74 if (IS_DIRSYNC(dir)) 75 - err = write_one_page(page, 1); 75 + err = write_one_page(page); 76 76 else 77 77 unlock_page(page); 78 78
+1 -1
fs/ext2/dir.c
··· 100 100 } 101 101 102 102 if (IS_DIRSYNC(dir)) { 103 - err = write_one_page(page, 1); 103 + err = write_one_page(page); 104 104 if (!err) 105 105 err = sync_inode_metadata(dir, 1); 106 106 } else {
+2 -2
fs/jfs/jfs_metapage.c
··· 711 711 get_page(page); 712 712 lock_page(page); 713 713 set_page_dirty(page); 714 - write_one_page(page, 1); 714 + write_one_page(page); 715 715 clear_bit(META_forcewrite, &mp->flag); 716 716 put_page(page); 717 717 } ··· 756 756 set_page_dirty(page); 757 757 if (test_bit(META_sync, &mp->flag)) { 758 758 clear_bit(META_sync, &mp->flag); 759 - write_one_page(page, 1); 759 + write_one_page(page); 760 760 lock_page(page); /* write_one_page unlocks the page */ 761 761 } 762 762 } else if (mp->lsn) /* discard_metapage doesn't remove it */
+1 -1
fs/minix/dir.c
··· 57 57 mark_inode_dirty(dir); 58 58 } 59 59 if (IS_DIRSYNC(dir)) 60 - err = write_one_page(page, 1); 60 + err = write_one_page(page); 61 61 else 62 62 unlock_page(page); 63 63 return err;
+1 -1
fs/sysv/dir.c
··· 45 45 mark_inode_dirty(dir); 46 46 } 47 47 if (IS_DIRSYNC(dir)) 48 - err = write_one_page(page, 1); 48 + err = write_one_page(page); 49 49 else 50 50 unlock_page(page); 51 51 return err;
+1 -1
fs/ufs/dir.c
··· 53 53 mark_inode_dirty(dir); 54 54 } 55 55 if (IS_DIRSYNC(dir)) 56 - err = write_one_page(page, 1); 56 + err = write_one_page(page); 57 57 else 58 58 unlock_page(page); 59 59 return err;
+1 -1
include/linux/mm.h
··· 2199 2199 extern int filemap_page_mkwrite(struct vm_fault *vmf); 2200 2200 2201 2201 /* mm/page-writeback.c */ 2202 - int write_one_page(struct page *page, int wait); 2202 + int __must_check write_one_page(struct page *page); 2203 2203 void task_dirty_inc(struct task_struct *tsk); 2204 2204 2205 2205 /* readahead.c */
+7 -7
mm/page-writeback.c
··· 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 2370 * @page: the page to write 2371 - * @wait: if true, wait on writeout 2372 2371 * 2373 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 */ 2377 - int write_one_page(struct page *page, int wait) 2378 + int write_one_page(struct page *page) 2378 2379 { 2379 2380 struct address_space *mapping = page->mapping; 2380 2381 int ret = 0; ··· 2386 2385 2387 2386 BUG_ON(!PageLocked(page)); 2388 2387 2389 - if (wait) 2390 - wait_on_page_writeback(page); 2388 + wait_on_page_writeback(page); 2391 2389 2392 2390 if (clear_page_dirty_for_io(page)) { 2393 2391 get_page(page); 2394 2392 ret = mapping->a_ops->writepage(page, &wbc); 2395 - if (ret == 0 && wait) { 2393 + if (ret == 0) { 2396 2394 wait_on_page_writeback(page); 2397 2395 if (PageError(page)) 2398 2396 ret = -EIO;