Commit 2b9775ae authored by Jan Kara's avatar Jan Kara Committed by Linus Torvalds
Browse files

mm: use pagevec_lookup_range_tag() in write_cache_pages()

Use pagevec_lookup_range_tag() in write_cache_pages() as it is
interested only in pages from given range.  Remove unnecessary code
resulting from this.

Link: http://lkml.kernel.org/r/20171009151359.31984-12-jack@suse.cz


Signed-off-by: default avatarJan Kara <jack@suse.cz>
Reviewed-by: default avatarDaniel Jordan <daniel.m.jordan@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 312e9d2f
Loading
Loading
Loading
Loading
+2 −18
Original line number Original line Diff line number Diff line
@@ -2196,30 +2196,14 @@ retry:
	while (!done && (index <= end)) {
	while (!done && (index <= end)) {
		int i;
		int i;


		nr_pages = pagevec_lookup_tag(&pvec, mapping, &index, tag,
		nr_pages = pagevec_lookup_range_tag(&pvec, mapping, &index, end,
			      min(end - index, (pgoff_t)PAGEVEC_SIZE-1) + 1);
				tag, PAGEVEC_SIZE);
		if (nr_pages == 0)
		if (nr_pages == 0)
			break;
			break;


		for (i = 0; i < nr_pages; i++) {
		for (i = 0; i < nr_pages; i++) {
			struct page *page = pvec.pages[i];
			struct page *page = pvec.pages[i];


			/*
			 * At this point, the page may be truncated or
			 * invalidated (changing page->mapping to NULL), or
			 * even swizzled back from swapper_space to tmpfs file
			 * mapping. However, page->index will not change
			 * because we have a reference on the page.
			 */
			if (page->index > end) {
				/*
				 * can't be range_cyclic (1st pass) because
				 * end == -1 in that case.
				 */
				done = 1;
				break;
			}

			done_index = page->index;
			done_index = page->index;


			lock_page(page);
			lock_page(page);