@@ -436,25 +436,26 @@ long f2fs_sync_meta_pages(struct f2fs_sb_info *sbi, enum page_type type,
436
436
return nwritten ;
437
437
}
438
438
439
- static int f2fs_set_meta_page_dirty (struct page * page )
439
+ static bool f2fs_dirty_meta_folio (struct address_space * mapping ,
440
+ struct folio * folio )
440
441
{
441
- trace_f2fs_set_page_dirty (page , META );
442
-
443
- if (!PageUptodate ( page ))
444
- SetPageUptodate ( page );
445
- if (!PageDirty ( page )) {
446
- __set_page_dirty_nobuffers ( page );
447
- inc_page_count (F2FS_P_SB (page ), F2FS_DIRTY_META );
448
- set_page_private_reference (page );
449
- return 1 ;
442
+ trace_f2fs_set_page_dirty (& folio -> page , META );
443
+
444
+ if (!folio_test_uptodate ( folio ))
445
+ folio_mark_uptodate ( folio );
446
+ if (!folio_test_dirty ( folio )) {
447
+ filemap_dirty_folio ( mapping , folio );
448
+ inc_page_count (F2FS_P_SB (& folio -> page ), F2FS_DIRTY_META );
449
+ set_page_private_reference (& folio -> page );
450
+ return true ;
450
451
}
451
- return 0 ;
452
+ return false ;
452
453
}
453
454
454
455
const struct address_space_operations f2fs_meta_aops = {
455
456
.writepage = f2fs_write_meta_page ,
456
457
.writepages = f2fs_write_meta_pages ,
457
- .set_page_dirty = f2fs_set_meta_page_dirty ,
458
+ .dirty_folio = f2fs_dirty_meta_folio ,
458
459
.invalidate_folio = f2fs_invalidate_folio ,
459
460
.releasepage = f2fs_release_page ,
460
461
#ifdef CONFIG_MIGRATION
0 commit comments