Hi Timo, today I found this in the logs again: Jul 29 10:38:27 trevi mail:err|error dovecot: IMAP(beckerr): fchown(/u/f0/rzuser/beckerr/Mail/.subscriptions.lock, -1, -1) failed: Invalid argument Jul 29 10:38:27 trevi mail:err|error dovecot: IMAP(beckerr): file_dotlock_open() failed with subscription file /u/f0/rzuser/beckerr/Mail/.subscriptions: Invalid argument I located the bug in src/lib/file-dotlock.c ... a patch is attached. Ralf Timo Sirainen schrieb am 07.07.2009 18:40:
On Tue, 2009-07-07 at 17:58 +0200, Axel Luttgens wrote:
Is my understanding of these sentences correct? "If owner and group are -1, nothing is done?"
In this case it should be save to skip the call, shouldn't it? Yes, I guess so.
Yes. Committed: http://hg.dovecot.org/dovecot-1.2/rev/d6337be8ae30
Unless the rationale for that call is to ensure a correct cache flushing for NFS clients, while being some kind of (costly) no-op otherwise?
In that case I would have used those nfs_flush_*() functions.
-- ______________________________________________________________________ Dipl.-Inform. (FH) Ralf Becker Rechenzentrum (r/ft) der FH Trier (Network|Mail|Web|Firewall) University of applied sciences Administrator Schneidershof, D-54293 Trier Mail: beckerr@fh-trier.de Fon: +49 651 8103 499 Web: http://www.fh-trier.de/~beckerr Fax: +49 651 8103 214 PubKey: http://www.fh-trier.de/~beckerr Crypto: GnuPG, S/MIME ______________________________________________________________________ Wenn Gott gewollt haette, dass E-Mail in HTML geschrieben wuerden, endeten Gebete traditionell mit </amen>. (Tom Listen) --- dovecot-1.2.2/src/lib/file-dotlock.c.org 2009-07-29 10:44:21.000000000 +0200 +++ dovecot-1.2.2/src/lib/file-dotlock.c 2009-07-29 10:44:42.000000000 +0200 @@ -780,7 +780,7 @@ fd = file_dotlock_open(set, path, flags, &dotlock); umask(old_mask); - if (fd != -1 && (uid != (uid)-1 || gid != (gid_t)-1)) { + if (fd != -1 && (uid != (uid_t)-1 || gid != (gid_t)-1)) { if (fchown(fd, uid, gid) < 0) { if (errno == EPERM && uid == (uid_t)-1) { i_error("%s", eperm_error_get_chgrp("fchown",