Re: [PATCH] ext4: fix dir_nlink behaviour
From: Theodore Ts'o <tytso@mit.edu>
Date: 2017-08-05 23:53:10
On Fri, Jul 21, 2017 at 04:49:27PM -0600, Andreas Dilger wrote:
The dir_nlink feature has been enabled by default for new ext4 filesystems since e2fsprogs-1.41 in 2008, and was automatically enabled by the kernel for older ext4 filesystems since the dir_nlink feature was added with ext4 in kernel 2.6.28+ when the subdirectory count exceeded EXT4_LINK_MAX. We shouldn't really be enabling filesystem features automatically, as this prevents the administrator from disabling the feature at format time, or via tune2fs. This should not affect many users by this point, but allows limiting subdirectory counts to those that can strictly fit into i_links_count rather than using "1" to indicate that the number of links on the directory is not tracked. This avoids a bug in glibc fts_read() that incorrectly optimizes the directory traversal for such directories. This also addresses a minor bug in ext4_inc_count() where i_nlinks was wrapped at (EXT4_LINK_MAX - 1) links rather than allowing the full EXT4_LINK_MAX links on the parent directory (including "." and "..") before storing i_links_count = 1. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=196405 Signed-off-by: Andreas Dilger <redacted>
Thanks, applied. - Ted