e2fsprogs/e2fsck
Andreas Dilger 1a8015773a e2fsck: set dir_nlink feature if large dir exists
If there is a directory with more than EXT2_LINK_MAX (65000)
subdirectories, but the DIR_NLINK feature is not set in the
superblock, the feature should be set before continuing on
to change the on-disk directory link count to 1.

While most filesystems should have DIR_NLINK set (it was set
by default for all ext4 filesystems, and all kernels between
2.6.23 and 4.12 automatically set it if the directory link
count grew too large), it is possible that this flag is lost
due to disk corruption or for an upgraded filesystem.  We no
longer want kernels to automatically enable features.

Addresses: https://bugzilla.kernel.org/show_bug.cgi?id=196405
Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2018-06-22 18:08:54 -04:00
..
Android.bp AOSP: use e2fsprogs-defaults for ccflags 2018-02-26 13:54:20 -05:00
badblocks.c e2fsck: fix memory leak on error path in read_bad_blocks_files() 2014-01-07 09:10:24 -05:00
CHANGES Fix historic typos in changelogs and release notes 2017-10-15 23:19:22 -04:00
dirinfo.c Add configure --disable-tdb which disables e2fsck's scratch_files feature 2016-05-29 21:52:52 -04:00
dx_dirinfo.c configure: remove support to disable htree support 2015-07-03 16:29:35 -04:00
e2fsck.8.in AOSP: e2fsck: imply -f when using -E unshare_blocks 2018-06-21 10:14:47 -04:00
e2fsck.c e2fsck: update quota inode accounting for ea_inode feature 2017-07-23 21:20:41 -04:00
e2fsck.conf.5.in Add missing information to e2fsck man pages and usage text 2017-12-15 00:28:54 -05:00
e2fsck.h AOSP: e2fsck: Add an extended option for unsharing blocks. 2018-06-21 09:56:30 -04:00
ea_refcount.c e2fsck: generalize ea_refcount 2017-07-04 23:53:59 -04:00
ehandler.c e2fsck: on read error, don't rewrite blocks past the end of the fs 2015-01-27 13:12:37 -05:00
emptydir.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
extend.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
extents.c e2fsck: fix sparse bmap to extent conversion 2017-05-24 22:12:39 -04:00
flushb.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
iscan.c debugfs, e2fsck: fix s_desc_size handling 2013-12-24 22:50:19 -05:00
jfs_user.h Fix warnings found using UBSAN 2017-07-04 18:00:46 -04:00
journal.c e2fsck: exit with exit status 0 if no errors were fixed 2017-02-16 22:02:35 -05:00
logfile.c e2fsck: close the progress_fd in the logfile child process 2015-01-12 19:42:29 -05:00
Makefile.in tests: skip running long test with "make check" and add "make fullcheck" 2017-04-26 10:07:18 -04:00
Makefile.pq Many files: 1997-11-14 05:23:04 +00:00
message.c Merge branch 'maint' into next 2017-10-15 23:20:53 -04:00
mtrace.awk Many files: 1997-04-26 13:21:57 +00:00
mtrace.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
mtrace.h ChangeLog, super.c: 2001-01-12 21:05:57 +00:00
pass1.c AOSP: e2fsck: Add an extended option for unsharing blocks. 2018-06-21 09:56:30 -04:00
pass1b.c AOSP: e2fsck: allow read-only testing if -E unshare_blocks will succeed 2018-06-21 10:11:40 -04:00
pass2.c e2fsck: delete bad inode fix for bigalloc 2018-03-24 11:14:44 -04:00
pass3.c Fix typos in code comments and developer docs 2017-10-15 23:00:11 -04:00
pass4.c e2fsck: set dir_nlink feature if large dir exists 2018-06-22 18:08:54 -04:00
pass5.c Merge branch 'maint' into next 2017-10-15 23:20:53 -04:00
problem.c e2fsck: set dir_nlink feature if large dir exists 2018-06-22 18:08:54 -04:00
problem.h e2fsck: set dir_nlink feature if large dir exists 2018-06-22 18:08:54 -04:00
problemP.h e2fsck: exit with exit status 0 if no errors were fixed 2017-02-16 22:02:35 -05:00
quota.c e2fsck: check for invalid quota inode numbers 2017-07-22 17:43:17 -04:00
readahead.c misc: fix Coverity bugs 2015-05-16 18:32:33 -04:00
recovery.c Fix typos in code comments and developer docs 2017-10-15 23:00:11 -04:00
region.c Fix typos in code comments and developer docs 2017-10-15 23:00:11 -04:00
rehash.c Merge branch 'maint' into next 2017-08-04 12:30:01 -04:00
revoke.c Fix typos in error messages and documentation 2017-10-15 23:00:03 -04:00
scantest.c e2fsprogs: introduce ext2fs_close_free() helper 2014-07-05 21:06:48 -04:00
sigcatcher.c Eliminate unused variable and unused label warnings from Android build 2015-07-13 10:47:16 -04:00
super.c e2fsck: report only one sb corruption 2018-06-19 11:34:46 -04:00
unix.c AOSP: e2fsck: imply -f when using -E unshare_blocks 2018-06-21 10:14:47 -04:00
util.c Fix typos in code comments and developer docs 2017-10-15 23:00:11 -04:00