[Dovecot] How to get rid of locks
Timo Sirainen
tss at iki.fi
Mon May 14 12:59:20 EEST 2007
On Sat, 2007-04-07 at 22:30 +0300, Timo Sirainen wrote:
> I just figured out that O_APPEND is pretty great. If the operating
> system updates seek position after writing to a file opened with
> O_APPEND, writes to Dovecot's transaction log file can be made
> lockless.
Well, almost. Log rotation isn't possible without some sort of locking.
But the locks could still be reduced:
- Normally keep the .log file read-locked all the time (multiple
processes can have it read-locked)
- Write to it with O_APPEND
- If you notice that the log is going to be rotated soon, drop the read
lock and acquire it only for the duration of appends
- When the log is wanted to be rotated, try to get a write-lock. If it
fails, try again later. If it succeeds, it's safe to rotate the log.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20070514/d4b678ba/attachment.pgp
More information about the dovecot
mailing list