]> www.infradead.org Git - linux.git/commitdiff
jfs; Convert release_metapage to use a folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 17 Apr 2024 17:56:49 +0000 (18:56 +0100)
committerDave Kleikamp <dave.kleikamp@oracle.com>
Fri, 24 May 2024 15:26:05 +0000 (10:26 -0500)
Convert mp->page to a folio and remove 7 hidden calls to compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
fs/jfs/jfs_metapage.c

index 6fa7023f5bc93e5cf6639df8c1a2115a38e33cf0..4515dc1ac40e7a7f22d7fc30ac6baac2046d0c1f 100644 (file)
@@ -749,37 +749,35 @@ void put_metapage(struct metapage *mp)
 
 void release_metapage(struct metapage * mp)
 {
-       struct page *page = mp->page;
+       struct folio *folio = page_folio(mp->page);
        jfs_info("release_metapage: mp = 0x%p, flag = 0x%lx", mp, mp->flag);
 
-       BUG_ON(!page);
-
-       lock_page(page);
+       folio_lock(folio);
        unlock_metapage(mp);
 
        assert(mp->count);
        if (--mp->count || mp->nohomeok) {
-               unlock_page(page);
-               put_page(page);
+               folio_unlock(folio);
+               folio_put(folio);
                return;
        }
 
        if (test_bit(META_dirty, &mp->flag)) {
-               set_page_dirty(page);
+               folio_mark_dirty(folio);
                if (test_bit(META_sync, &mp->flag)) {
                        clear_bit(META_sync, &mp->flag);
-                       if (metapage_write_one(page))
+                       if (metapage_write_one(&folio->page))
                                jfs_error(mp->sb, "metapage_write_one() failed\n");
-                       lock_page(page);
+                       folio_lock(folio);
                }
        } else if (mp->lsn)     /* discard_metapage doesn't remove it */
                remove_from_logsync(mp);
 
        /* Try to keep metapages from using up too much memory */
-       drop_metapage(page, mp);
+       drop_metapage(&folio->page, mp);
 
-       unlock_page(page);
-       put_page(page);
+       folio_unlock(folio);
+       folio_put(folio);
 }
 
 void __invalidate_metapages(struct inode *ip, s64 addr, int len)