> On 10 May 2021, at 11:52, Timo Sirainen <t...@sirainen.com> wrote:
> 
> S= is the "physical size", W= is the "virtual size". quota=count / vsize 
> calculations should be using the W= value, not the S= value.


I renamed all messages containing S= and W= values in a user's mailbox (Trash) 
which had the incorrect quota calculation, stripping these from the filenames 
to ensure they were not causing incorrect calculations.

Then, I deleted every single dovecot* file in the user's mailbox (all indexes 
and control files, including dovecot-uidlist):

  root@server:~# find /mail/<username>/Maildir/ -type f -name 'dovecot*' -delete

Running `doveadm mailbox status -u <username> 'vsize' 'Trash'` -still-, even 
after all this, returns a vsize calculation that is off by a factor of about 
two:

root@server:~# du -bs /mail/<username>/Maildir/.Trash
7200481589      /mail/<username>/Maildir/.Trash
root@server:~# doveadm mailbox status -u <username> 'vsize' 'Trash'
Trash vsize=14584428026

(The user was not logged in during any of this testing)

I am at a bit of a loss at what is causing this issue now. I have tested 
against 2.3.13 and 2.3.14 now. Any chance I may have hit a bug in these 
versions?

It is worth mentioning that I have only encountered a small handful of users 
(out of about 100k) where the quota calculation is wildly incorrect. For the 
most part it appears to be right.

- Eirik

Reply via email to