Problem with Quotas even when users quotas are turned off

We are getting weird mailbox quota issues. The mailbox quota for a particular Virtual host and it's users were set to 10GB for the whole domain and 500mb per user. Some users hit this and the server started burking with the response "status=bounced (can't create user output file)" for incoming email and IMAP quota messages on the client side. So I made the domain and user quotas unlimited, however that was 5 days ago but it appears that the issue has cropped up again. The mail server logs contain entries like this:

Jul 19 15:23:47 host2 dovecot: IMAP(user@domain.com): write_full(/home/domaine.com/homes/user/Maildir/dovecot-uidlist.lock) failed: Disk quota exceeded Jul 19 15:27:14 host2 postfix/local[12202]: 243193718281: to=<user@domain.com@host.mailhostdomain.com>, orig_to=user@domain.com, relay=local, delay=0.63, delays=0.01/0/0/0.62, dsn=5.2.0, status=bounced (can't create user output file)

I've just disabled the system quotas completely and everything is back to normal. I'd imagine that if I re-enable or restart the server these issue may come back.

Centos 5.5 Latest Virtualmin with Pro license

I've seen quite a few similar issues like this here, but with no solutions.

Thanks, Tim

Status: 
Active

Comments

So does the user in that log entry have unlimited quotas, and does his domain also have unlimited?

I've seen that error when a user has hit is quota limit, and so cannot even delete email as the Dovecot IMAP server cannot write the index files needed to open the mailbox (which is an unfortunate Dovecot bug). The work-around is to move those index files to a separate filesystem without quotas ..

So it looks like there are two separate issues - lack of quota, and the dovecot locking problem when quota is hit.

Are you still hitting quota errors when mail is delivered even though both the mailbox and the domain are set to unlimited?

You might also want to check the real underlying quotas to see if there are somehow out of sync with what Virtualmin is displaying.

You can get a user's quota with a command like :

quota -v -u user.domain

or a domain's quota with :

quota -v -u domain-admin

The "check disk quotas" function re-computes quota usage by looking at what files actually exist on the system. Quota usage is stored in a separate file, and this can get out of sync with reality, particularly when quotas have been turned off for a while.

There aren't really any logs for quota errors..

Soft quotas won't help much for email, as they only generate a warning .. which the mail recipients won't see anyway.

If you are still having problems, I would be happy to login to your system myself as root via SSH to see what is going wrong.