> On 01/02/2023 14:07 EET Jose Celestino <[email protected]> wrote: > > > Hi, > > I was wondering if it's possible to lighten the process of converting > sdbox mailboxes to zlib by, instead of using dsync (that brings much more io, > copying from alt - and copying of unneeded data as we have many mails already > compressed from activating zlib a couble of years ago) just compressing each > of the u files. > > By compression of the u files I mean opening the uncompressed u file for > reading, a u.temp file for writting and: > > 1. copy the dbox message header from u to u.tmp > > 2. compress the plain message and write it to u.tmp > > 3. fix the message_size_hex on the u.tmp dbox message header to the new, > compressed size > > 4. copy the dbox metadata from u to u.tmp with Zphysical_size added > > 5. copy the u stat times to u.tmp > > 6. replace u with u.tmp > > Is the message_size_hex stored anywhere else (indexes) that may cause this to > not work? > > Thank you.
The header around the u file is about the physical contents only, you can rewrite that header as long as you preserve any other fields. You can use `doveadm dump u.1` to see how it works. Aki
