On Fri, Mar 10, 2017 at 04:58:02PM +0000, Ben Hutchings wrote: > > --- > > fs/ext4/super.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > --- a/fs/ext4/super.c > > +++ b/fs/ext4/super.c > [...] > > @@ -802,9 +803,10 @@ static void ext4_put_super(struct super_ > > destroy_workqueue(sbi->rsv_conversion_wq); > > > > if (sbi->s_journal) { > > + aborted = is_journal_aborted(sbi->s_journal); > > err = jbd2_journal_destroy(sbi->s_journal); > > sbi->s_journal = NULL; > > - if (err < 0) > > + if ((err < 0) && !aborted) > > ext4_abort(sb, "Couldn't clean up the journal"); > [...] > > Shouldn't the aborted flag also be set here when err < 0? Nice catch. That's a separate issue (the bug was there before this commit), though I'll send a separate patch to fix this in mainline and then cc stable, OK? - Ted