I would like to suggest that user directory hashing be turned back on in the vpopmail package. Yesterday I went through a lot of grief, because it wasn't on.

The server runs CentOS 4.4, with kernel-2.6.9-42.0.2.ELsmp. The file system where /home/vpopmail is stored is /home, and is ext3. It was created during a fresh install of CentOS 4.3 a few months ago. Ext3 has a 32000(not 32768) limit hard for coded into a header file for max links, aka the maximum number of directories that can be directly under one directory. This became a problem because of the way vpopmail stores user data when hashing is disabled. Note the problem is only directories, and not files/inodes. I could still create new files wherever I liked. But mkdir would return Too many links.

Normal it would be:

/home/vpopmail/domains/(domain)/(hash)/(user)

or

/home/vpopmail/domains/(domain)/(hash)/(hash)/(user)


Without hashing it is:

/home/vpopmail/domains/(domain)/(user)


So without hashing the (domain) directory fills up until it has 31999 users, and then new account creation chokes.


I did read back on the mailing list and found a discussion of this where people were under the impression that hashing was no longer needed. As shown above, that is not yet the case. There does exist a patch for ext3 that raises the limit from 32k to something like 65k, but that just doubles the limit. Which would help, but wouldn't solve the long term problem. Red Hat seems to plan to include the patch as part of ext4, which is still in development.

I understand that changing it now will create other problems. One example I read was that disabling hashing enables the ability to have e-mail addresses that begin with a single character. In that hashing creates 0-9, a-z, and A-Z directories to store user directories in. If the default was changed, then if anyone had created single character addresses would need to migrate them. I also know hashing is less intuitive and predictable, but it isn't hard to lookup where a user's directory is with vuserinfo.

Overall I recommend that the option be changed back to vpopmail's default, on. But maybe only after a reliable migration script/procedure can be devised.

As a side note, another side issue I ran into in the process was that after recompiling vpopmail for hashing I also had to recompile qmailadmin before qmailadmin would use hashing. qmailadmin statically links libvpopmail, via libvpopmail.a, into itself. Hence if you recompile vpopmail it is wise to recompile qmailadmin also.


Patch to increase the subdirecotry limit:
http://sourceforge.net/mailarchive/message.php?msg_id=15272441

---------------------------------------------------------------------
    QmailToaster hosted by: VR Hosted <http://www.vr.org>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to