Re: e2fsck: set dir_nlink feature if large dir exists
From: Theodore Ts'o <tytso@mit.edu>
Date: 2017-08-30 02:20:03
On Fri, Aug 18, 2017 at 12:19:42PM -0600, Andreas Dilger wrote:
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 the kernel before 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 the kernel to automatically enable this feature. Addresses: https://bugzilla.kernel.org/show_bug.cgi?id=196405 Signed-off-by: Andreas Dilger <redacted>
The f_large_dir test is now failing after I apply this patch: debugfs 1.43.6 (29-Aug-2017) ./test_one: 38: /usr/projects/e2fsprogs/e2fsprogs/tests/f_large_dir/script: arithmetic expression: division by zero: "i / ELAPSED" f_large_dir: optimize 3 level htree directories: failed - Ted