Hey Timo,
Roland Rosenfeld <rrosenfeld@netcologne.de> hat am 12. Februar 2014 um 14:12 geschrieben: On Mon, 10 Feb 2014, Timo Sirainen wrote:
That's quite a lot of work for fixing something that shouldn't really be happening in the first place. I think those problems only happen once immediately after enabling zlib plugin and for some reason having the wrong (or missing) S=sizes in maildir filenames?
Is it really? As far as I understood Rolands original post regarding this issue, all the (meta) data is there. Dovecot does recognize a compressed (Maildir++) file without any tags or meta info in the file name already today. And it more importantly knows the uncompressed size the message has. The only thing that is broken or more accurately put, that could be improved on, is Dovecots ability to use the uncompressed size as S=Value instead of always relying on the file size when setting / fixing the file name.
So in my naive mind this boils down to determining the S-Value the Maildir++ file name is given from the "uncompressed" size variable instead of the size the file has on disk. You could also only branch to this "mode" of a compressed file is recognized. I wildly guess that this is the strategy you need to apply to (m)dbox anyways. To find and index how big each message within a dbox-file really is.
Yes, I know, that this a layer 8 problem, but I would sleep better when I'd know that dovecot can repair this issue for me be fixing the S-value automatically.
As you can probably read between the lines: Once you became to know and simply love the "Dovecot simply fixes problems with a mailbox or its indexes automagically"-paradigm, you miss it on the first case this is not so ...
I might add another use case or nice ability Dovecot has: One can just copy / merge messages on a file by file basis and Dovecot will take care of renaming the files to the Maildir++ format. This does not work anymore if the files are compressed. But provided Dovecot could set the actual size of a compressed file this would again work just fine.
Thanks
Christian