[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <6405814C-6899-43EC-B40D-8F4DE382AAFF@dilger.ca>
Date: Wed, 23 Sep 2020 14:20:17 -0600
From: Andreas Dilger <adilger@...ger.ca>
To: Jan Kara <jack@...e.cz>
Cc: Mikulas Patocka <mpatocka@...hat.com>,
Ext4 Developers List <linux-ext4@...r.kernel.org>,
Matthew Wilcox <willy@...radead.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: A bug in ext4 with big directories (was: NVFS XFS metadata)
[cut down CC list, since I don't think most people care about this detail]
On Sep 23, 2020, at 3:44 AM, Jan Kara <jack@...e.cz> wrote:
>
> 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?
You can also enable this feature on an existing filesystem by running
"tune2fs -O large_dir /dev/sdX". It might need to be unmounted, not sure.
Cheers, Andreas
Download attachment "signature.asc" of type "application/pgp-signature" (874 bytes)
Powered by blists - more mailing lists