A bug in ext4 with big directories (was: NVFS XFS metadata)

From: Mikulas Patocka
Date: Wed Sep 23 2020 - 05:21:08 EST


Hi

There seems to be a bug in ext4 - when I create very large directory, ext4
fails with -ENOSPC despite the fact that there is plenty of free space and
free inodes on the filesystem.

How to reproduce:
download the program dir-test:
http://people.redhat.com/~mpatocka/benchmarks/dir-test.c

# modprobe brd rd_size=67108864
# mkfs.ext4 /dev/ram0
# mount -t ext4 /dev/ram0 /mnt/test
# dir-test /mnt/test/ 8000000 8000000
deleting: 7999000
2540000
file 2515327 can't be created: No space left on device
# df /mnt/test
/dev/ram0 65531436 633752 61525860 2% /mnt/test
# df -i /mnt/test
/dev/ram0 4194304 1881547 2312757 45% /mnt/test

(I tried to increase journal size, but it has no effect on this bug)

Mikulas