Hello,
I am using Postfix(as mail server) + Dovecot (as pop3 server)
My Postfix lock option is fcntl dotlock
mailbox_delivery_lock = fcntl, dotlock
virtual_mailbox_lock = fcntl, dotlock
My Dovecot lock option is fcntl only
mbox_write_locks = fcntl
mbox_read_locks = fcntl
now, when a user is downloading a large mail (20 MB) for example,
dovecot locks
/var/mail/user with fcntl until the users finish downloading the mail
While the user is downloading the mail , a mail arrives so postfix us
suppose to try to FCNTL the mailbox file then try to dot lock according
to my postfix option mailbox_delivery_lock = fcntl, dotlock ,
But some thing different happen as follow
1- Dovecot locks /var/mail/user using FCNTL (since a user is
downloading a large mail)
2- Posttix at the same time tries to FCNTL /var/mail/user .. but it
fail since dovecot already fcnl it. so it continue and dot lock the
mailbox for 5 secs , then it defer the mail stating that the mailbox is
locked now.
my question is why postfix dot lock the file even if it couldn't FCNTL
the file in the first place…… ? it shouldn't dot lock the mailbox
since the mailbox is already FCNTL by dovecot
mailbox_delivery_lock are *not* tried in order ?
Any help is greatly appreciated to understand this behaviour of postfix
Thanks
Robert.