struct cachefiles_object *object;
        struct fscache_retrieval *op = monitor->op;
        struct wait_page_key *key = _key;
-       struct page *page = wait->private;
+       struct folio *folio = wait->private;
 
        ASSERT(key);
 
        _enter("{%lu},%u,%d,{%p,%u}",
               monitor->netfs_page->index, mode, sync,
-              key->page, key->bit_nr);
+              key->folio, key->bit_nr);
 
-       if (key->page != page || key->bit_nr != PG_locked)
+       if (key->folio != folio || key->bit_nr != PG_locked)
                return 0;
 
-       _debug("--- monitor %p %lx ---", page, page->flags);
+       _debug("--- monitor %p %lx ---", folio, folio->flags);
 
-       if (!PageUptodate(page) && !PageError(page)) {
+       if (!folio_test_uptodate(folio) && !folio_test_error(folio)) {
                /* unlocked, not uptodate and not erronous? */
                _debug("page probably truncated");
        }
        put_page(backpage2);
 
        INIT_LIST_HEAD(&monitor->op_link);
-       add_page_wait_queue(backpage, &monitor->monitor);
+       folio_add_wait_queue(page_folio(backpage), &monitor->monitor);
 
        if (trylock_page(backpage)) {
                ret = -EIO;
        get_page(backpage);
        monitor->back_page = backpage;
        monitor->monitor.private = backpage;
-       add_page_wait_queue(backpage, &monitor->monitor);
+       folio_add_wait_queue(page_folio(backpage), &monitor->monitor);
        monitor = NULL;
 
        /* but the page may have been read before the monitor was installed, so
                get_page(backpage);
                monitor->back_page = backpage;
                monitor->monitor.private = backpage;
-               add_page_wait_queue(backpage, &monitor->monitor);
+               folio_add_wait_queue(page_folio(backpage), &monitor->monitor);
                monitor = NULL;
 
                /* but the page may have been read before the monitor was
 
  */
 #define PAGE_WAIT_TABLE_BITS 8
 #define PAGE_WAIT_TABLE_SIZE (1 << PAGE_WAIT_TABLE_BITS)
-static wait_queue_head_t page_wait_table[PAGE_WAIT_TABLE_SIZE] __cacheline_aligned;
+static wait_queue_head_t folio_wait_table[PAGE_WAIT_TABLE_SIZE] __cacheline_aligned;
 
-static wait_queue_head_t *page_waitqueue(struct page *page)
+static wait_queue_head_t *folio_waitqueue(struct folio *folio)
 {
-       return &page_wait_table[hash_ptr(page, PAGE_WAIT_TABLE_BITS)];
+       return &folio_wait_table[hash_ptr(folio, PAGE_WAIT_TABLE_BITS)];
 }
 
 void __init pagecache_init(void)
        int i;
 
        for (i = 0; i < PAGE_WAIT_TABLE_SIZE; i++)
-               init_waitqueue_head(&page_wait_table[i]);
+               init_waitqueue_head(&folio_wait_table[i]);
 
        page_writeback_init();
 }
         */
        flags = wait->flags;
        if (flags & WQ_FLAG_EXCLUSIVE) {
-               if (test_bit(key->bit_nr, &key->page->flags))
+               if (test_bit(key->bit_nr, &key->folio->flags))
                        return -1;
                if (flags & WQ_FLAG_CUSTOM) {
-                       if (test_and_set_bit(key->bit_nr, &key->page->flags))
+                       if (test_and_set_bit(key->bit_nr, &key->folio->flags))
                                return -1;
                        flags |= WQ_FLAG_DONE;
                }
 
 static void folio_wake_bit(struct folio *folio, int bit_nr)
 {
-       wait_queue_head_t *q = page_waitqueue(&folio->page);
+       wait_queue_head_t *q = folio_waitqueue(folio);
        struct wait_page_key key;
        unsigned long flags;
        wait_queue_entry_t bookmark;
 
-       key.page = &folio->page;
+       key.folio = folio;
        key.bit_nr = bit_nr;
        key.page_match = 0;
 
 static inline int folio_wait_bit_common(struct folio *folio, int bit_nr,
                int state, enum behavior behavior)
 {
-       wait_queue_head_t *q = page_waitqueue(&folio->page);
+       wait_queue_head_t *q = folio_waitqueue(folio);
        int unfairness = sysctl_page_lock_unfairness;
        struct wait_page_queue wait_page;
        wait_queue_entry_t *wait = &wait_page.wait;
 
        init_wait(wait);
        wait->func = wake_page_function;
-       wait_page.page = &folio->page;
+       wait_page.folio = folio;
        wait_page.bit_nr = bit_nr;
 
 repeat:
 }
 
 /**
- * add_page_wait_queue - Add an arbitrary waiter to a page's wait queue
- * @page: Page defining the wait queue of interest
+ * folio_add_wait_queue - Add an arbitrary waiter to a folio's wait queue
+ * @folio: Folio defining the wait queue of interest
  * @waiter: Waiter to add to the queue
  *
- * Add an arbitrary @waiter to the wait queue for the nominated @page.
+ * Add an arbitrary @waiter to the wait queue for the nominated @folio.
  */
-void add_page_wait_queue(struct page *page, wait_queue_entry_t *waiter)
+void folio_add_wait_queue(struct folio *folio, wait_queue_entry_t *waiter)
 {
-       wait_queue_head_t *q = page_waitqueue(page);
+       wait_queue_head_t *q = folio_waitqueue(folio);
        unsigned long flags;
 
        spin_lock_irqsave(&q->lock, flags);
        __add_wait_queue_entry_tail(q, waiter);
-       SetPageWaiters(page);
+       folio_set_waiters(folio);
        spin_unlock_irqrestore(&q->lock, flags);
 }
-EXPORT_SYMBOL_GPL(add_page_wait_queue);
+EXPORT_SYMBOL_GPL(folio_add_wait_queue);
 
 #ifndef clear_bit_unlock_is_negative_byte
 
 
 static int __folio_lock_async(struct folio *folio, struct wait_page_queue *wait)
 {
-       struct wait_queue_head *q = page_waitqueue(&folio->page);
+       struct wait_queue_head *q = folio_waitqueue(folio);
        int ret = 0;
 
-       wait->page = &folio->page;
+       wait->folio = folio;
        wait->bit_nr = PG_locked;
 
        spin_lock_irq(&q->lock);