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
}

Reply via email to