[Dovecot] nfs_flush_fcntl failed: No locks available
Hi there,
I've been seeing this error in our logs quite frequently on our nfs storage (v3):
2008-11-10T13:24:26+00:00 mail8 dovecot: IMAP(XXX@YYY.com): nfs_flush_fcntl: fcntl(/var/spool/mail/XXX/Maildir/dovecot.index.cache, F_RDLCK) failed: No locks available
Which is because we don't run lockd on our servers. Why is dovecot trying to use fcntl() ? I explicitly set it to use dotlocks in the dovecot config:
# 1.1.6: /etc/dovecot.conf # OS: Linux 2.6.18-92.el5 i686 CentOS release 5.2 (Final) base_dir: /var/run/dovecot/ protocols: imap pop3 mail_location: maildir:~/Maildir mmap_disable: yes mail_nfs_storage: yes mail_nfs_index: yes lock_method: dotlock maildir_copy_preserve_filename: yes mbox_write_locks: dotlock
This happens for both pop and imap (however more frequently with imap).
Thanks,
Mark
-- Mark Zealey -- Shared Hosting Team Leader Product Development * Webfusion 123-reg.co.uk, webfusion.co.uk, donhost.co.uk, supanames.co.uk
This mail is subject to http://www.gxn.net/disclaimer
On Mon, 2008-11-10 at 13:32 +0000, Mark Zealey wrote:
Hi there,
I've been seeing this error in our logs quite frequently on our nfs storage (v3):
2008-11-10T13:24:26+00:00 mail8 dovecot: IMAP(XXX@YYY.com): nfs_flush_fcntl: fcntl(/var/spool/mail/XXX/Maildir/dovecot.index.cache, F_RDLCK) failed: No locks available
Which is because we don't run lockd on our servers. Why is dovecot trying to use fcntl() ? I explicitly set it to use dotlocks in the dovecot config:
mail_nfs_*=yes settings try to use fcntl for flushing data cache. There's really no other way to do it on Linux. Although having nano/microsecond resolution timestamps on NFS server probably would make it irrelevant. Hmm.
On Fri, 2008-11-21 at 22:53 +0200, Timo Sirainen wrote:
On Mon, 2008-11-10 at 13:32 +0000, Mark Zealey wrote:
Hi there,
I've been seeing this error in our logs quite frequently on our nfs storage (v3):
2008-11-10T13:24:26+00:00 mail8 dovecot: IMAP(XXX@YYY.com): nfs_flush_fcntl: fcntl(/var/spool/mail/XXX/Maildir/dovecot.index.cache, F_RDLCK) failed: No locks available
Which is because we don't run lockd on our servers. Why is dovecot trying to use fcntl() ? I explicitly set it to use dotlocks in the dovecot config:
mail_nfs_*=yes settings try to use fcntl for flushing data cache. There's really no other way to do it on Linux. Although having nano/microsecond resolution timestamps on NFS server probably would make it irrelevant. Hmm.
OK, I guess this'll do it: http://hg.dovecot.org/dovecot-1.1/rev/d5772df47de4
participants (2)
-
Mark Zealey
-
Timo Sirainen