Use folios throughout the release_folio path.
Unified · Split
| @@ -1484,22 +1484,22 @@ static int ubifs_migrate_page(struct address_space *mapping, · 1483 unmodified lines | ||
| 1484 | 1484 | } |
| 1485 | 1485 | #endif |
| 1486 | 1486 | |
| 1487 | −static int ubifs_releasepage(struct page *page, gfp_t unused_gfp_flags) | |
| 1487 | +static bool ubifs_release_folio(struct folio *folio, gfp_t unused_gfp_flags) | |
| 1488 | 1488 | { |
| 1489 | − struct inode *inode = page->mapping->host; | |
| 1489 | + struct inode *inode = folio->mapping->host; | |
| 1490 | 1490 | struct ubifs_info *c = inode->i_sb->s_fs_info; |
| 1491 | 1491 | |
| 1492 | 1492 | /* |
| 1493 | 1493 | * An attempt to release a dirty page without budgeting for it - should |
| 1494 | 1494 | * not happen. |
| 1495 | 1495 | */ |
| 1496 | − if (PageWriteback(page)) | |
| 1497 | − return 0; | |
| 1498 | − ubifs_assert(c, PagePrivate(page)); | |
| 1496 | + if (folio_test_writeback(folio)) | |
| 1497 | + return false; | |
| 1498 | + ubifs_assert(c, folio_test_private(folio)); | |
| 1499 | 1499 | ubifs_assert(c, 0); |
| 1500 | − detach_page_private(page); | |
| 1501 | − ClearPageChecked(page); | |
| 1502 | − return 1; | |
| 1500 | + folio_detach_private(folio); | |
| 1501 | + folio_clear_checked(folio); | |
| 1502 | + return true; | |
| 1503 | 1503 | } |
| 1504 | 1504 | |
| 1505 | 1505 | /* |
| @@ -1652,7 +1652,7 @@ const struct address_space_operations ubifs_file_address_operations = { · 146 unmodified lines | ||
| 1652 | 1652 | #ifdef CONFIG_MIGRATION |
| 1653 | 1653 | .migratepage = ubifs_migrate_page, |
| 1654 | 1654 | #endif |
| 1655 | − .releasepage = ubifs_releasepage, | |
| 1655 | + .release_folio = ubifs_release_folio, | |
| 1656 | 1656 | }; |
| 1657 | 1657 | |
| 1658 | 1658 | const struct inode_operations ubifs_file_inode_operations = { |