ext3_dx_add_entry: Directory index full!

Theodore Tso tytso at MIT.EDU
Mon May 19 00:49:55 UTC 2008


On Mon, May 19, 2008 at 01:01:57AM +0200, Stefano Fedrigo wrote:
>
> So, if I understand correctly, with a 1024 bytes blocksize, dir_index, and 
> inode size of 128 byte, the maximum number of files in a directory is 
> 123008.  With 4k blocks this limit rises to 8,258,048 files?

It depends on the length of the directory entries, and how full the
various directory blocks end up getting (which is a function of the
directory names used and the per-filesystem hash seed).  But in
general, the maximum limit goes up as the cube of the blocksize.  So a
4k filesystem can store roughly 64 times as many files ; a filesystem
using 16k blocks (say, on a Power or IA64 architecture) will be able
to store roughly 4,096 as many files in a single directory.  (So
around 819 million files in a single directory, using the original
maildir example).

Seriously, though, past a certain point, if you really want to store
that many small datums, you should really consider a database....

     	  		    	   	  - Ted




More information about the Ext3-users mailing list