summary refs log tree commit diff
diff options
context:
space:
mode:
authorVishal Moola (Oracle) <vishal.moola@gmail.com>2022-09-05 14:45:57 -0700
committerAndrew Morton <akpm@linux-foundation.org>2022-10-03 14:02:56 -0700
commitb05f41a1aa56fd646f2aa048ee446b6a2edb80d3 (patch)
treea60b0501d577a966874ccc0771fec458c7fe31ec
parent710bb68c2e3a24512e2d2bae470960d7488e97b1 (diff)
downloadlinux-b05f41a1aa56fd646f2aa048ee446b6a2edb80d3.tar.gz
filemap: convert filemap_range_has_writeback() to use folios
Removes 3 calls to compound_head().

Link: https://lkml.kernel.org/r/20220905214557.868606-1-vishal.moola@gmail.com
Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r--mm/filemap.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/mm/filemap.c b/mm/filemap.c
index 68bd70fe71d5..aab125d423b8 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -632,22 +632,23 @@ bool filemap_range_has_writeback(struct address_space *mapping,
 {
 	XA_STATE(xas, &mapping->i_pages, start_byte >> PAGE_SHIFT);
 	pgoff_t max = end_byte >> PAGE_SHIFT;
-	struct page *page;
+	struct folio *folio;
 
 	if (end_byte < start_byte)
 		return false;
 
 	rcu_read_lock();
-	xas_for_each(&xas, page, max) {
-		if (xas_retry(&xas, page))
+	xas_for_each(&xas, folio, max) {
+		if (xas_retry(&xas, folio))
 			continue;
-		if (xa_is_value(page))
+		if (xa_is_value(folio))
 			continue;
-		if (PageDirty(page) || PageLocked(page) || PageWriteback(page))
+		if (folio_test_dirty(folio) || folio_test_locked(folio) ||
+				folio_test_writeback(folio))
 			break;
 	}
 	rcu_read_unlock();
-	return page != NULL;
+	return folio != NULL;
 }
 EXPORT_SYMBOL_GPL(filemap_range_has_writeback);