Quoting Timo Sirainen <t...@iki.fi>:

On 21.3.2012, at 17.52, Ralf Hildebrandt wrote:

* Timo Sirainen <t...@iki.fi>:

It's renaming itself to itself again?

Hmm. Yeah, this is a bit problematic for compressed mails. If the
S=size isn't correct, Dovecot fixes it by stat()ing the file and using
it as the size. And that's of course wrong. Also Dovecot can't simply
remove the S=size, because the current Maildir code assumes that it
always exists for compressed mails. There's no easy and efficient way
to fix this.. Maybe you could just manually rename the files to have
correct S=size? :) zcat file | wc should give the right size.

Right now the whole system is down because nobody can acces his/her
mails due to this.

All of your mails are compressed and have wrong S=size in the filename? You can disable the check with the attached patch, but I'm not sure if there are other places where it fails. At least quota calculations won't be correct.

The issue only started happening since I upgraded to 2.1.1, it didn't exist before then, I have check my system, and files before the date of upgrade are fine, only files/emails moved after upgrading to 2.1.1 have lost the S= value.

I have made something that can pretty easily fix the issue, but it only stays fixed till another email gets moved and looses it's S= value.

Sorry, I haven't had time to test out 2.1.3 yet.

This will print out the commands needed to fix the files though.

find . -name '*hostname:*' -exec 'gzip' '-l' '{}' ';' | awk '/hostname/ {for(x=4;x<NF;x++) { fn=$x " "; } fn=fn $x; split(fn,a,":"); print "mv \"" fn "\" \"" a[1] ",S=" $2 ":" a[2] "\"";}'

Just change hostname to dovecot is using in your files.


Reply via email to