hi ted: we have found the e2fsck full check cost-so-much-time problem in android booting phase, especially it will spend 120 seconds on doing this e2fsck full check in ext4 rw partition which has large storage capacity and serious fragmentation related with used extents. so we want to reduce the numbers of the called work of e2fsck full check. condition 1: and then we have find when encountering the metadata error or inconsistent problems, ext4 will has put an error flag in its superblock. when the next e2fsck data check begin, it will check if there is an error flag in partition superblock, and will do the full check work automatically if has this error flag. condition 2: meanwhile, in android code, when ext4 partition has been mounted unsuccessfully, it will also do e2fsck full check subsequently. according to above two showed conditions on which e2fsck full check can be called automatically, the e2fsck full check has not to be called periodically when the ext4 partition mount times is above max mount times we set in ext4 super block. when ext4 data or medata error has happened, e2fsck full check will be called automatically during next e2fsck data checking. so i wonder the reason why set EXT4_DFL_MAX_MNT_COUNT value to 20 in fs/ext4/ext4.h and not set a large value to it ? is there any reason or any condition when file system data error or stability problems happens and ext4 can't get this information, can't set the error flag in superblock, and so will not call the e2fsck full check during next e2fsck check? and because of this reason or condition, it will have to do periodic e2fsck full check. many thanks if you and any other people can give me advise on the above question.