On Wed, Aug 30, 2017 at 01:43:30AM -0600, Andreas Dilger wrote: > > 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 > > You must have a faster test system than I do... I'm using a ramdisk for /tmp. I suspect that's what is making all the difference. Otherwise it's just a normal Lenovo T470 laptop.... > On a related note, I was trying to implement the optimization for > more efficient ext2fs_link() insertion, but this has proven to be > much more complex than I expected. I was thinking I would just > call the link_proc() function directly to handle insertion of the > new name, using block number of the previous caller. However, this > function depends on the directory leaf buffers having been read > from disk, and being passed a dirent pointer to the free space after > being called through a series of callback indirections. I think it's more trouble than it's worth to preseve the existing link_proc() function. I'd recommend out to be just what is necessary to do the directory entry insert, and make that a helper function which is called by link_proc() and the shortcut handling code in ext2fs_link(). Cheers, - Ted