On 19/02/13 15:41, Timo Sirainen wrote:
On 19.2.2013, at 16.48, Rob Redpath <[email protected]> wrote:
Just run the maildir-size-fix.pl to your existing maildirs and you should have
no problems in future?
Sadly, that doesn't seem to work. In a normal case where I see this issue,
running maildir-size-fix.pl (with -a -c -f -r -v options) identifies and
renames lots of files, but then accessing the mailbox causes dovecot to rename
them back to the incorrect values.
Then something is wrong.
One thing I've noticed during testing this is that, in my doveadm fetch output for
an affected mailbox, the same UID appears to be processed over and over before
Dovecot moves on. In the example I happen to have on screen, this line appears 13
times in the output, each with with a larger value to the right of the <
doveadm([email protected]): Error: Maildir filename has wrong S value, renamed
the file from
/var/spool/virtual_mail/user_example.com_d/.INBOX.folder/cur/1308038406.M274176P16579.mail.example.net,S=11919:2,S
to
/var/spool/virtual_mail/user_example.com_d/.INBOX.folder/cur/1308038406.M274176P16579.mail.example.net,S=11919:2,S
doveadm([email protected]): Error: Corrupted index cache file
/var/spool/virtual_mail/user_example.com_d/.INBOX.eBay/dovecot.index.cache:
Broken physical size for mail UID 99
Have you enabled zlib plugin globally, not just for e.g. IMAP protocol? Show
your doveconf -n output.
I believe that the plugin is enabled globally -
# 2.1.10: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-279.el6.x86_64 x86_64 Red Hat Enterprise Linux Server
release 6.3 (Santiago)
auth_mechanisms = plain login cram-md5 digest-md5 apop
auth_socket_path = /var/run/dovecot/auth-userdb
auth_username_chars =
auth_worker_max_count = 8192
default_client_limit = 32771
default_internal_user = mail
default_process_limit = 32771
disable_plaintext_auth = no
first_valid_uid = 8
last_valid_uid = 8
lda_mailbox_autocreate = yes
mail_location = maildir:%h
mail_plugins = quota zlib
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = /var/mail-auth/passwd.dovecot
driver = passwd-file
}
passdb {
args = /var/mail-auth/legacy.%l
driver = passwd-file
}
plugin {
quota = maildir
quota_rule = ?:storage=400M
quota_rule2 = Trash:storage=+10%
quota_warning = storage=90%% quota-warning 90 %u
}
service anvil {
client_limit = 65545
}
service auth {
client_limit = 118793
unix_listener auth-userdb {
group = mail
mode = 0600
user = mail
}
}
service imap-login {
process_min_avail = 16
vsz_limit = 64 M
}
service imap-postlogin {
executable = script-login /usr/local/bin/count_imap_login
group = mail
user = mail
}
service imap {
executable = imap imap-postlogin
process_limit = 16384
}
service pop3-postlogin {
executable = script-login /usr/local/bin/count_pop_login
group = mail
user = mail
}
service pop3 {
executable = pop3 pop3-postlogin
process_limit = 4096
}
service quota-warning {
executable = script /usr/local/bin/send-mailbox-near-quota-warning
unix_listener quota-warning {
user = mail
}
user = mail
}
ssl_cert = </etc/ssl/certs/redacted.pem
ssl_key = </etc/ssl/certs/redacted.pem
userdb {
args = /var/mail-auth/passwd.dovecot
driver = passwd-file
}
userdb {
args = /var/mail-auth/legacy.%l
driver = passwd-file
}
verbose_proctitle = yes
protocol imap {
imap_capability = +QUOTA SORT SORT=DISPLAY
mail_max_userip_connections = 50
mail_plugins = quota zlib imap_quota
}
protocol pop3 {
mail_max_userip_connections = 40
pop3_reuse_xuidl = yes
}