On Sat 22-10-22 21:07:39, Jason Yan wrote: > The return value is wrong in ext4_load_and_init_journal(). The local > variable 'err' need to be initialized before goto out. The original code > in __ext4_fill_super() is fine because it has two return values 'ret' > and 'err' and 'ret' is initialized as -EINVAL. After we factor out > ext4_load_and_init_journal(), this code is broken. So fix it by directly > returning -EINVAL in the error handler path. > > Fixes: 9c1dd22d7422 (ext4: factor out ext4_load_and_init_journal()) We format the tag usually as: Fixes: 9c1dd22d7422 ("ext4: factor out ext4_load_and_init_journal()") > Signed-off-by: Jason Yan <yanaijie@xxxxxxxxxx> Otherwise the patch looks good. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > fs/ext4/super.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ext4/super.c b/fs/ext4/super.c > index 989365b878a6..89c6bad28a8a 100644 > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -4885,7 +4885,7 @@ static int ext4_load_and_init_journal(struct super_block *sb, > flush_work(&sbi->s_error_work); > jbd2_journal_destroy(sbi->s_journal); > sbi->s_journal = NULL; > - return err; > + return -EINVAL; > } > > static int ext4_journal_data_mode_check(struct super_block *sb) > -- > 2.31.1 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR