EXT4 Is Working On A "Large Directory" Option, Parallel Discards
It's looking like the EXT4 file-system updates for the upcoming Linux 4.13 cycle could be a bit more interesting this time around.
With EXT4 having proven itself and being quite mature at this stage, most merge windows aren't too exciting for this evolutionary file-system that routinely just gets bug fixes and minor features. But the development work being queued up for EXT4 is a bit more exciting with the changes likely slated for the Linux 4.13 kernel.
First up, EXT4 is baking a largedir feature. This "large directory" feature allows for exceeding the current limit of roughly 10 million entries allowed in a single directory with EXT4. The revised limit wasn't mentioned.
Also new is xattr-in-inode support, "If the size of an xattr value is larger than will fit in a single external block, then the xattr value will be saved into the body of an external xattr inode. The also helps support a larger number of xattr, since only the headers will be stored in the in-inode space or the single external block."
Then coming in next is xattr inode deduplication support. And then a nombcache mount option, "The main purpose of mb cache is to achieve deduplication in extended attributes. In use cases where opportunity for deduplication is unlikely, it only adds overhead."
On the performance side is sending parallel discards on commit completions, EXT4 now sends discards in parallel, similar to XFS, for enhancing the performance when mounting EXT4 with the discard mount option. In one test noted by Samsung's Daeho Jeong, the time in their benchmark dropped from 17 seconds to 4.8 seconds.
EXT4 will now also forbid encrypting the root directory (when making use of its native fscrypt).
Fair amount of interesting EXT4 file-system happenings this summer.