On Wed, 2007-06-13 at 22:51 -0500, Steven F Siirila wrote: > > 2) If index files are fully synced, Dovecot writes X-UID: header. It > > also updates nextuid field in X-IMAP: / X-IMAPbase: header of the first > > message, which causes Dovecot to read() the file. The nextuid update > > isn't really required, but I think some other bug shows up if it isn't > > done. > > Do these operations apply to Deliver or just IMAP/POP?
All. > Not knowing enough about how the indexes work.... Question: Is it possible > for Deliver to append a message w/o writing an X-UID header, leaving that > operation to the IMAP/POP client code, and still maintain an updated index? That's how messages are saved if index files aren't up-to-date. So the X-UID: adding is just an optimization. > If not, are there any options I can provide to Dovecot LDA to make it > function without index file updating? You could set: protocol lda { mail_location = ...:INDEX=MEMORY } > What we have is a daemon called "mailattrd" on our mail servers which runs > on a TCP port and simply does a stat() on a user's mailbox and returns the > atime, mtime, ctime values of said mailbox. You could do something like this: do { st1 = stat(mbox) while (mbox.lock exists) wait; st2 = stat(mbox) } while (st1.mtime != st2.mtime || st1.atime != st2.atime); With some small lock timeout value. > That "service" is used by a > variety of our applications. We were thinking of another possibility: > changing Dovecot IMAP/POP to update the last access time (open in READ) > of a specific file other than the user's INBOX. However, we'd rather not > maintain local modifications unless absolutely necessary. Mount with noatime and have Dovecot update the atime itself? I'm not sure if the patch I sent is enough to update atime always. > Any thoughts on alternatives which might be mailbox-format-independent? There aren't really mailbox-independent ways to do this. With maildir you'd probably stat() new/ and see if atime > ctime.
signature.asc
Description: This is a digitally signed message part