on 5-29-2009 1:42 AM Bernd Petrovitsch spake the following:
On Thu, 2009-05-28 at 21:28 -0500, Kyle Wheeler wrote:
This is certainly one advantage dbox and maildir have -- not being limited to the FS file size limit per folder. That's not *entirely* accurate. Certainly no single message can exceed
On Friday, May 29 at 09:46 AM, quoth Curtis Maloney: the 2GB limit even with maildir, and the other issue that begins to come up is the impact/effect of large numbers of files. Depending on the filesystem (I'm assuming ext2?), there's probably a hard limit on
FC4 had ext3 (unless my memory is totally mistaken).
the number of files per directory, and almost certainly there's a big
Subdirectories, yes (because the link count in the inode is of quite finite size). But there never was TTBOMK a limit on the number of files (!= Directories) in ext2 (except the trivial one: The directory is as large as the largest file. But that applies probably to all filesystems - though more recent ones allow for much larger files). Let alone ext3.
performance penalty for that many files. To get good performance with Maildir and really large folders, you need a filesystem that can handle large numbersof files. Ext3 has directory hashing, ReiserFS is
Make sure you have the "dir_index" option set on that filesystem (which is probably set per default anyways these days. Otherwise you can change it on the fly with
tune2fs
).
I don't think you can do it on the fly. Any directories created before the option was set will not have directory indexing until a fsck is done.
<quote>
Using Directory Indexing
This feature improves file access in large directories or directories containing many files by using hashed binary trees to store the directory information. It's perfectly safe to use, and it provides a fairly substantial improvement in most cases; so it's a good idea to enable it:
# tune2fs -O dir_index /dev/hdXY
This will only take effect with directories created on that filesystem after tune2fs is run. In order to apply this to currently existing directories, we must run the e2fsck utility to optimize and reindex the directories on the filesystem:
# e2fsck -D -f /dev/hdXY
Note: This should work with both ext2 and ext3 filesystems. Depending on the size of your filesystem, this could take a long time. Perhaps you should go get some coffee...
</quote>
The back of my head suggests that one has to recreate the directory after changing that option (read:
mkdir new; mv old/* new; rmdir old; mv new old
. Solving the "command line too long" problem is left to the reader;-).