stop attempting I/O, it can simply return.  The caller will
        remove the remaining pages from the address space, unlock them
        and decrement the page refcount.  Set PageUptodate if the I/O
-       completes successfully.  Setting PageError on any page will be
-       ignored; simply unlock the page if an I/O error occurs.
+       completes successfully.
 
 ``write_begin``
        Called by the generic buffered write code to ask the filesystem
 
                        struct folio *folio = fbatch.folios[i];
 
                        folio_wait_writeback(folio);
-                       folio_clear_error(folio);
                }
                folio_batch_release(&fbatch);
                cond_resched();
        unsigned long pflags;
        int error;
 
-       /*
-        * A previous I/O error may have been due to temporary failures,
-        * eg. multipath errors.  PG_error will be set again if read_folio
-        * fails.
-        */
-       folio_clear_error(folio);
-
        /* Start the actual read. The read will unlock the page. */
        if (unlikely(workingset))
                psi_memstall_enter(&pflags);
 
 {
        int cpupid;
 
-       if (folio_test_error(folio))
-               folio_set_error(newfolio);
        if (folio_test_referenced(folio))
                folio_set_referenced(newfolio);
        if (folio_test_uptodate(folio))
 
                 * memory for allocating transmit buffers.
                 * Mark the page dirty and avoid
                 * folio_rotate_reclaimable but rate-limit the
-                * messages but do not flag PageError like
-                * the normal direct-to-bio case as it could
-                * be temporary.
+                * messages.
                 */
                pr_err_ratelimited("Write error %ld on dio swapfile (%llu)\n",
                                   ret, swap_dev_pos(page_swap_entry(page)));