[Dovecot] Dovecot write activity (mostly 1.1.x)

mikkel at euro123.dk mikkel at euro123.dk
Sun Nov 4 16:27:55 EET 2007


On Sun, November 4, 2007 2:54 pm, mikkel at euro123.dk wrote:
>> You could truss the hanging process to see what it's doing.
> It's not an easy task since the delay is sometimes just a few (5-10)
> seconds. And when there is a complete stall the client aborts before I can
>  find the process. But I'll give it a go.
>

I tried trussing a normal running process. Here's what I see all the time:

stat64("[path]/Maildir/new", 0xFFBFF470) = 0
stat64("[path]/Maildir/cur", 0xFFBFF4E0) = 0
stat64("[path]/Maildir/new", 0xFFBFF2F0) = 0
stat64("[path]/Maildir/cur", 0xFFBFF258) = 0
stat64("[path]/Maildir/dovecot-uidlist", 0xFFBFF1D0) = 0
chown("[path]/Maildir/dovecot-uidlist", 105, -1) = 0
stat64("[path]/Maildir/dovecot-uidlist", 0xFFBFF2F0) = 0
stat64("[path]/Maildir/dovecot.index.log", 0xFFBFDAE0) = 0
chown("[path]/Maildir/dovecot.index.log", 105, -1) = 0
stat64("[path]/Maildir/dovecot.index.log", 0xFFBFDBF0) = 0

What i notice is that stat64 is very often called twice in a row on the
same file.
Also I notice that chown() is always run before a file is accessed.

Regarding chown it looks like dovecot either thinks that the file hasn't
got the rights it should have, or it just calls chown anyway to be sure.

I'm not a C-programmer so I have no idea whether it’s supposed to be like
that. But if it isn’t then perhaps it could explain the many writes
(chowning constantly)?

What do you think?


More information about the dovecot mailing list