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
I had this exact same issue the other day and posted to the list indicating
that all users were going into the same directory. After intalling a fresh
copy of the lastest found same thing happened. So researched and found
exactly as you have that it is disabled in the QmailToaster install. I went
ahead and enabled it also and recompiled and getting ready to test.
However now need to figure out a method to migrate those users created
previoulsy. I am pretty sure all I have to do is write some script that
moves the top 100 users in the current directory to a new folder. Then
update the MySQL database table to point to the new location.
Anyways I too believe this should be enabled by default.
Jim
---------------------------------------------------------------------
QmailToaster hosted by: VR Hosted <http://www.vr.org>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]