nilfs2: convert nilfs_btnode_prepare_change_key to use a folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 14 Nov 2023 08:44:34 +0000 (17:44 +0900)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 11 Dec 2023 01:21:30 +0000 (17:21 -0800)
Saves three calls to compound_head().

Link: https://lkml.kernel.org/r/20231114084436.2755-19-konishi.ryusuke@gmail.com
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/nilfs2/btnode.c

index e077d4a7a11c3c38def6d268c02c4340b1613399..da3e4366625fff776396ccd7fb0e75d3dfbe610a 100644 (file)
@@ -185,23 +185,23 @@ int nilfs_btnode_prepare_change_key(struct address_space *btnc,
        ctxt->newbh = NULL;
 
        if (inode->i_blkbits == PAGE_SHIFT) {
-               struct page *opage = obh->b_page;
-               lock_page(opage);
+               struct folio *ofolio = obh->b_folio;
+               folio_lock(ofolio);
 retry:
                /* BUG_ON(oldkey != obh->b_folio->index); */
-               if (unlikely(oldkey != opage->index))
-                       NILFS_PAGE_BUG(opage,
+               if (unlikely(oldkey != ofolio->index))
+                       NILFS_PAGE_BUG(&ofolio->page,
                                       "invalid oldkey %lld (newkey=%lld)",
                                       (unsigned long long)oldkey,
                                       (unsigned long long)newkey);
 
                xa_lock_irq(&btnc->i_pages);
-               err = __xa_insert(&btnc->i_pages, newkey, opage, GFP_NOFS);
+               err = __xa_insert(&btnc->i_pages, newkey, ofolio, GFP_NOFS);
                xa_unlock_irq(&btnc->i_pages);
                /*
-                * Note: page->index will not change to newkey until
+                * Note: folio->index will not change to newkey until
                 * nilfs_btnode_commit_change_key() will be called.
-                * To protect the page in intermediate state, the page lock
+                * To protect the folio in intermediate state, the folio lock
                 * is held.
                 */
                if (!err)
@@ -213,7 +213,7 @@ retry:
                if (!err)
                        goto retry;
                /* fallback to copy mode */
-               unlock_page(opage);
+               folio_unlock(ofolio);
        }
 
        nbh = nilfs_btnode_create_block(btnc, newkey);
@@ -225,7 +225,7 @@ retry:
        return 0;
 
  failed_unlock:
-       unlock_page(obh->b_page);
+       folio_unlock(obh->b_folio);
        return err;
 }