Messages in this thread | | | From | Andreas Dilger <> | Subject | Re: Maximum files per Directory | Date | Tue, 1 May 2001 16:57:02 -0600 (MDT) |
| |
H. Peter Anvin writes: > Not correct, there can't be more than 2^15 *directories* in a single > directory. I belive this is an ext2 limitation.
This is imposed by a number of issues: - EXT2_LINK_MAX=32000 is checked for new subdirectories - ext2 bg_used_dirs_count is a __u16 - inode->i_nlink (__kernel_nlink_t) is an unsigned short for some platforms
For stat (old interface) the st_nlinks count is also an unsigned short, so we _should_ be able to increase EXT2_LINK_MAX to 65500 or so safely. The VFS will have problems if you increase the max link count over 65535 because __kernel_nlink_t is __u16.
I see that reiserfs plays some tricks with the directory i_nlink count. If you exceed 64536 links in a directory, it reverts to "1" and no longer tracks the link count.
You will have problems with performance for directories this large on stock ext2, unless you use Daniel Phillips' indexed directory patch. I have tested 100k+ _files_ in a single directory without problems (Daniel has tested 1M _files_ without problems). I would NOT reccommend doing this on your production mail server at this time, but it may be worth testing at least... It does not (yet) address the issue of lots of subdirectories, but that is something that can be worked on at least.
http://kernelnewbies.org/~phillips/htree/
Cheers, Andreas -- Andreas Dilger Turbolinux filesystem development http://sourceforge.net/projects/ext2resize/ http://www-mddsp.enel.ucalgary.ca/People/adilger/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |