On Wed 04-12-19 20:46:13, zhangyi (F) wrote: > Commit fb7c02445c49 ("ext4: pass -ESHUTDOWN code to jbd2 layer") want > to allow jbd2 layer to distinguish shutdown journal abort from other > error cases. So the ESHUTDOWN should be taken precedence over any other > errno which has already been recoded after EXT4_FLAGS_SHUTDOWN is set, > but it only update errno in the journal suoerblock now if the old errno > is 0. > > Fixes: fb7c02445c49 ("ext4: pass -ESHUTDOWN code to jbd2 layer") > Signed-off-by: zhangyi (F) <yi.zhang@xxxxxxxxxx> Yeah, I think this is correct if I understand the logic correctly but I'd like Ted to have a look at this. Anyway, feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > fs/jbd2/journal.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c > index b2d6e7666d0f..93be6e0311da 100644 > --- a/fs/jbd2/journal.c > +++ b/fs/jbd2/journal.c > @@ -2109,8 +2109,7 @@ static void __journal_abort_soft (journal_t *journal, int errno) > > if (journal->j_flags & JBD2_ABORT) { > write_unlock(&journal->j_state_lock); > - if (!old_errno && old_errno != -ESHUTDOWN && > - errno == -ESHUTDOWN) > + if (old_errno != -ESHUTDOWN && errno == -ESHUTDOWN) > jbd2_journal_update_sb_errno(journal); > return; > } > -- > 2.17.2 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR