Hi again,

On 22.10.2011 15:16, Michael Stilkerich wrote:

When I try to create an ACL in a telnet session, the command fails with
an internal error. The log shows:

dovecot: imap(michael): Error:
fstat(/home/dovecot/michael/.test/dovecot-acl.lock) failed: No such file
or directory
dovecot: imap(michael): Error:
file_dotlock_open(/home/dovecot/michael/.test/dovecot-acl) failed: No
such file or directory

I found that the problem seems to be the try_create_lock_hardlink() function, which is used to create the lock file. I don't now why it doesn't work, but if I modify the code of dotlock_create() to always use try_create_lock_excl() instead ignoring the setting of use_excl_lock in the dotlock_settings structure, it works just fine for me.

I noticed in the log that the issue not only occurs with the dovecot-acl files but with other files, too, namely the
dovecot.index.log and my acl_shared_dict file.

Looking at the static dotlock_settings structure in the acl-file backend, I don't see how its use_excl_lock could possible be set to 1 by the configuration (i.e., it doesn't seem that the dotlock_use_excl configuration option is considered). For the maildirlock, an environment variable "DOTLOCK_USE_EXCL" is checked instead of the
config setting. I'm not sure whether it is intentional that the hardlink
variant is generally used in these cases.

-Michael

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to