usb: gadget: webcam: Make g_webcam loadable again
[platform/kernel/linux-starfive.git] / fs / jbd2 / recovery.c
index c269a7d..5b771a3 100644 (file)
@@ -289,6 +289,8 @@ int jbd2_journal_recover(journal_t *journal)
        journal_superblock_t *  sb;
 
        struct recovery_info    info;
+       errseq_t                wb_err;
+       struct address_space    *mapping;
 
        memset(&info, 0, sizeof(info));
        sb = journal->j_superblock;
@@ -306,6 +308,9 @@ int jbd2_journal_recover(journal_t *journal)
                return 0;
        }
 
+       wb_err = 0;
+       mapping = journal->j_fs_dev->bd_inode->i_mapping;
+       errseq_check_and_advance(&mapping->wb_err, &wb_err);
        err = do_one_pass(journal, &info, PASS_SCAN);
        if (!err)
                err = do_one_pass(journal, &info, PASS_REVOKE);
@@ -329,6 +334,9 @@ int jbd2_journal_recover(journal_t *journal)
        err2 = sync_blockdev(journal->j_fs_dev);
        if (!err)
                err = err2;
+       err2 = errseq_check_and_advance(&mapping->wb_err, &wb_err);
+       if (!err)
+               err = err2;
        /* Make sure all replayed data is on permanent storage */
        if (journal->j_flags & JBD2_BARRIER) {
                err2 = blkdev_issue_flush(journal->j_fs_dev);