diff options
Diffstat (limited to 'fs/jfs/jfs_metapage.c')
-rw-r--r-- | fs/jfs/jfs_metapage.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/fs/jfs/jfs_metapage.c b/fs/jfs/jfs_metapage.c index c4220ccdedef..387652ae14c2 100644 --- a/fs/jfs/jfs_metapage.c +++ b/fs/jfs/jfs_metapage.c @@ -467,8 +467,9 @@ err_out: return -EIO; } -static int metapage_readpage(struct file *fp, struct page *page) +static int metapage_read_folio(struct file *fp, struct folio *folio) { + struct page *page = &folio->page; struct inode *inode = page->mapping->host; struct bio *bio = NULL; int block_offset; @@ -523,29 +524,29 @@ add_failed: return -EIO; } -static int metapage_releasepage(struct page *page, gfp_t gfp_mask) +static bool metapage_release_folio(struct folio *folio, gfp_t gfp_mask) { struct metapage *mp; - int ret = 1; + bool ret = true; int offset; for (offset = 0; offset < PAGE_SIZE; offset += PSIZE) { - mp = page_to_mp(page, offset); + mp = page_to_mp(&folio->page, offset); if (!mp) continue; - jfs_info("metapage_releasepage: mp = 0x%p", mp); + jfs_info("metapage_release_folio: mp = 0x%p", mp); if (mp->count || mp->nohomeok || test_bit(META_dirty, &mp->flag)) { jfs_info("count = %ld, nohomeok = %d", mp->count, mp->nohomeok); - ret = 0; + ret = false; continue; } if (mp->lsn) remove_from_logsync(mp); - remove_metapage(page, mp); + remove_metapage(&folio->page, mp); INCREMENT(mpStat.pagefree); free_metapage(mp); } @@ -559,13 +560,13 @@ static void metapage_invalidate_folio(struct folio *folio, size_t offset, BUG_ON(folio_test_writeback(folio)); - metapage_releasepage(&folio->page, 0); + metapage_release_folio(folio, 0); } const struct address_space_operations jfs_metapage_aops = { - .readpage = metapage_readpage, + .read_folio = metapage_read_folio, .writepage = metapage_writepage, - .releasepage = metapage_releasepage, + .release_folio = metapage_release_folio, .invalidate_folio = metapage_invalidate_folio, .dirty_folio = filemap_dirty_folio, }; |