On Wed, 23 Sep 2020, Jan Kara wrote: > Hi! > > On Wed 23-09-20 05:20:55, Mikulas Patocka wrote: > > 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 > > Yeah, you likely run out of space in ext4 directory h-tree. You can enable > higher depth h-trees with large_dir feature (mkfs.ext4 -O large_dir). Does > that help? Yes, this helps. Mikulas > > Honza > > -- > Jan Kara <jack@xxxxxxxx> > SUSE Labs, CR