On Wed, Dec 23, 2020 at 10:12:54PM +0800, Zheng Yongjun wrote: > Signed-off-by: Zheng Yongjun <zhengyongjun3@xxxxxxxxxx> Why is mutex_init() too late? We only take the mutex after we mounting an ext4 file system, and that can't happen until ext4_init_fs is called. - Ted > fs/ext4/super.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/fs/ext4/super.c b/fs/ext4/super.c > index 94472044f4c1..8776f06a639d 100644 > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -59,7 +59,7 @@ > #include <trace/events/ext4.h> > > static struct ext4_lazy_init *ext4_li_info; > -static struct mutex ext4_li_mtx; > +static DEFINE_MUTEX(ext4_li_mtx); > static struct ratelimit_state ext4_mount_msg_ratelimit; > > static int ext4_load_journal(struct super_block *, struct ext4_super_block *, > @@ -6640,7 +6640,6 @@ static int __init ext4_init_fs(void) > > ratelimit_state_init(&ext4_mount_msg_ratelimit, 30 * HZ, 64); > ext4_li_info = NULL; > - mutex_init(&ext4_li_mtx); > > /* Build-time check for flags consistency */ > ext4_check_flag_values(); > -- > 2.22.0 >