@ -3733,10 +3733,12 @@ no_journal:
}
if ( ! S_ISDIR ( root - > i_mode ) | | ! root - > i_blocks | | ! root - > i_size ) {
ext4_msg ( sb , KERN_ERR , " corrupt root inode, run e2fsck " ) ;
iput ( root ) ;
goto failed_mount4 ;
}
sb - > s_root = d_alloc_root ( root ) ;
if ( ! sb - > s_root ) {
iput ( root ) ;
ext4_msg ( sb , KERN_ERR , " get root dentry failed " ) ;
ret = - ENOMEM ;
goto failed_mount4 ;
@ -3773,7 +3775,7 @@ no_journal:
if ( err ) {
ext4_msg ( sb , KERN_ERR , " failed to initialize system "
" zone (%d) " , err ) ;
goto failed_mount4 ;
goto failed_mount4a ;
}
ext4_ext_init ( sb ) ;
@ -3830,13 +3832,14 @@ cantfind_ext4:
failed_mount7 :
ext4_unregister_li_request ( sb ) ;
failed_mount6 :
ext4_ext_release ( sb ) ;
failed_mount5 :
ext4_mb_release ( sb ) ;
failed_mount5 :
ext4_ext_release ( sb ) ;
ext4_release_system_zone ( sb ) ;
failed_mount4 :
i put( root ) ;
failed_mount4a :
d put( sb - > s_ root) ;
sb - > s_root = NULL ;
failed_mount4 :
ext4_msg ( sb , KERN_ERR , " mount failed " ) ;
destroy_workqueue ( EXT4_SB ( sb ) - > dio_unwritten_wq ) ;
failed_mount_wq :