{
        struct buffer_head *obh = ctxt->bh, *nbh = ctxt->newbh;
        __u64 oldkey = ctxt->oldkey, newkey = ctxt->newkey;
-       struct page *opage;
+       struct folio *ofolio;
 
        if (oldkey == newkey)
                return;
 
        if (nbh == NULL) {      /* blocksize == pagesize */
-               opage = obh->b_page;
-               if (unlikely(oldkey != opage->index))
-                       NILFS_PAGE_BUG(opage,
+               ofolio = obh->b_folio;
+               if (unlikely(oldkey != ofolio->index))
+                       NILFS_PAGE_BUG(&ofolio->page,
                                       "invalid oldkey %lld (newkey=%lld)",
                                       (unsigned long long)oldkey,
                                       (unsigned long long)newkey);
                __xa_set_mark(&btnc->i_pages, newkey, PAGECACHE_TAG_DIRTY);
                xa_unlock_irq(&btnc->i_pages);
 
-               opage->index = obh->b_blocknr = newkey;
-               unlock_page(opage);
+               ofolio->index = obh->b_blocknr = newkey;
+               folio_unlock(ofolio);
        } else {
                nilfs_copy_buffer(nbh, obh);
                mark_buffer_dirty(nbh);