On Fri 03-11-23 22:52:47, Zhihao Cheng wrote: > Now JBD2 detects metadata writeback error of fs dev according to errseq. > Replace journal state flag by checking errseq. > > Signed-off-by: Zhihao Cheng <chengzhihao1@xxxxxxxxxx> > Suggested-by: Jan Kara <jack@xxxxxxx> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > fs/jbd2/journal.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c > index a655d9a88f79..b60d19505f8a 100644 > --- a/fs/jbd2/journal.c > +++ b/fs/jbd2/journal.c > @@ -1850,7 +1850,7 @@ int jbd2_journal_update_sb_log_tail(journal_t *journal, tid_t tail_tid, > > if (is_journal_aborted(journal)) > return -EIO; > - if (test_bit(JBD2_CHECKPOINT_IO_ERROR, &journal->j_atomic_flags)) { > + if (jbd2_check_fs_dev_write_error(journal)) { > jbd2_journal_abort(journal, -EIO); > return -EIO; > } > @@ -2148,12 +2148,12 @@ int jbd2_journal_destroy(journal_t *journal) > > /* > * OK, all checkpoint transactions have been checked, now check the > - * write out io error flag and abort the journal if some buffer failed > - * to write back to the original location, otherwise the filesystem > - * may become inconsistent. > + * writeback errseq of fs dev and abort the journal if some buffer > + * failed to write back to the original location, otherwise the > + * filesystem may become inconsistent. > */ > if (!is_journal_aborted(journal) && > - test_bit(JBD2_CHECKPOINT_IO_ERROR, &journal->j_atomic_flags)) > + jbd2_check_fs_dev_write_error(journal)) > jbd2_journal_abort(journal, -EIO); > > if (journal->j_sb_buffer) { > -- > 2.39.2 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR