On Fri, Jun 23, 2017 at 04:00:05PM -0600, Andreas Dilger wrote: > > Are you really using large_dir on a file system that is using indirect > > block mapped files? > > Like I wrote above, we haven't been using large_dir in production yet. > My plan was only to use it on the MDT, which is where the filesystem > namespace is located. Indeed, we don't use extents on the MDT because: > a) ext4 MDTs are strictly less than 16TB in size (usually < 8TB, even with > 4B inodes) because of using "-I 2048" to limit the space per inode, > so they never need more than 2^32 blocks > b) the only files of any size on the MDT are directories or other log > files, which are rarely created with contiguous block allocations, > so extents usually take more space than indirect blocks (12 bytes vs 4). OK, I'll try adding large_dir to the luster_mds configuration. I'm not sure we're actually going to end up creating a directory with 3 levels of htree nodes, though. In order to force that we'll probably need to create a new ext4-specific htree stress tester which creates a large number of filenames that very long, preferably while using a 1k block file system. - Ted