But, with 200k mailboxes, you should have an automated way to do that anyway.
Hah. Unlink the directory, and do a background fsck every few hours? :)
I don't know why you'd want to do the above, but you could add code to the deliver agents; When inbound email hits the system: create the require directories and files if required, this could be mail.local, deliver or something similar. When mailbox is emptied get the delivery agent [could be pop3d or imapd] to delete any empty directories, then growing directories can be kept under control.
The trouble with the above format is that you're ignoring any locality that exists in the filesystem. For example, in Berkeley FFS, files in a given directory are allocated in the same cylinder group (or at least it is attempted..)
Which, under heavy heavy load could actually give a slight performance boost on a non-filled FFS.
Agreed, but depending on the scale you'd most likely want logging file systems otherwise reboots could be painful. Regards, Neil.