On 08.01.25 18:32, Matthew Wilcox wrote:
On Wed, Jan 08, 2025 at 04:18:42PM +0000, Lorenzo Stoakes wrote:
@@ -280,7 +269,10 @@ static void fb_deferred_io_work(struct work_struct *work)
                struct folio *folio = page_folio(pageref->page);
folio_lock(folio);
-               folio_mkclean(folio);
+               rmap_wrprotect_file_page(fbdefio->mapping,
+                                        pageref->offset >> PAGE_SHIFT,
+                                        compound_nr(pageref->page),
+                                        page_to_pfn(pageref->page));
                folio_unlock(folio);

Why do we need to lock the folio?  (since this isn't necessarily a
folio)

Can you clarify the "since this isn't necessarily a folio" part ? Do you mean in the future, when we split "struct page" and "struct folio"?

Doing an rmap walk on something that won't be a folio is ... sounds odd (->wrong :) )

--
Cheers,

David / dhildenb

Reply via email to