[Dovecot] Deliver error - fdatasync_path
I see the following history in my log during message delivery:
Mar 1 13:35:09 mailserver postfix/pickup[21464]: 5FAFC2A002: uid=0 from=<root> Mar 1 13:35:09 mailserver postfix/cleanup[21526]: 5FAFC2A002: message-id=20090301213509.5FAFC2A002@mailserver.amfeslan.local Mar 1 13:35:09 mailserver postfix/qmgr[21429]: 5FAFC2A002: from=root@mailserver.amfeslan.local, size=367, nrcpt=1 (queue active) Mar 1 13:35:09 mailserver dovecot: auth(default): master in: USER^I1^Idmiller@amfes.com^Iservice=deliver Mar 1 13:35:09 mailserver dovecot: auth(default): master out: USER^I1^Idmiller@amfes.com^Iuid=5000^Igid=8^Ihome=/var/mail/amfes.com/dmiller^Imail=dbox:/var/mail/amfes.com/dmiller/Maildir
Mar 1 13:35:10 mailserver deliver(dmiller@amfes.com): fdatasync_path(/var/mail/amfes.com/dmiller/Maildir/INBOX/dbox-Mails) failed: Invalid argument Mar 1 13:35:10 mailserver deliver(dmiller@amfes.com): msgid=20090301213509.5FAFC2A002@mailserver.amfeslan.local: saved mail to INBOX Mar 1 13:35:10 mailserver postfix/pipe[21528]: 5FAFC2A002: to=dmiller@amfes.com, relay=dovecot, delay=1.1, delays=0.07/0.01/0/1, dsn=2.0.0, status=sent (delivered via dovecot service) Mar 1 13:35:10 mailserver postfix/qmgr[21429]: 5FAFC2A002: removed
-- Daniel
On Mon, 2009-03-02 at 07:31 -0800, Daniel L. Miller wrote:
Mar 1 13:35:10 mailserver deliver(dmiller@amfes.com): fdatasync_path(/var/mail/amfes.com/dmiller/Maildir/INBOX/dbox-Mails) failed: Invalid argument
Some OSes/filesystems don't like that. This should help: http://hg.dovecot.org/dovecot-1.1/rev/71b7c7f8d7a2
I'm not sure if CIFS has other problems though. And I hope you're not trying to access the same user's mails in two different servers at the same time?
BTW. Is it intentional that you're using dbox format under Maildir?
Timo Sirainen wrote:
On Mon, 2009-03-02 at 07:31 -0800, Daniel L. Miller wrote:
Mar 1 13:35:10 mailserver deliver(dmiller@amfes.com): fdatasync_path(/var/mail/amfes.com/dmiller/Maildir/INBOX/dbox-Mails) failed: Invalid argument
Some OSes/filesystems don't like that. This should help: http://hg.dovecot.org/dovecot-1.1/rev/71b7c7f8d7a2
I'm not sure if CIFS has other problems though. And I hope you're not trying to access the same user's mails in two different servers at the same time?
BTW. Is it intentional that you're using dbox format under Maildir?
2nd question first - I am intentionally storing the mail in the /Maildir directory in the user's home directory. I setup the server originally for Maildir format and then thought I'd try out dbox for fun. Unless there's a problem with this...
I am NOT trying to access from multiple servers simultaneously.
1st question...hmm...wow. Is that a patch you just wrote?! Cool!
Hmm...since I'm running on a pre-compiled package...is this an error I can simply ignore? Your patch seems to indicate you're just ignoring the result of the fsync call.
Daniel
On Mon, 2009-03-02 at 08:59 -0800, Daniel L. Miller wrote:
Some OSes/filesystems don't like that. This should help: http://hg.dovecot.org/dovecot-1.1/rev/71b7c7f8d7a2
1st question...hmm...wow. Is that a patch you just wrote?! Cool!
Hmm...since I'm running on a pre-compiled package...is this an error I can simply ignore? Your patch seems to indicate you're just ignoring the result of the fsync call.
With dbox yes, you can just ignore the error. Maildir probably would give user-visible errors.
Timo Sirainen wrote:
On Mon, 2009-03-02 at 08:59 -0800, Daniel L. Miller wrote:
Some OSes/filesystems don't like that. This should help: http://hg.dovecot.org/dovecot-1.1/rev/71b7c7f8d7a2
1st question...hmm...wow. Is that a patch you just wrote?! Cool!
Hmm...since I'm running on a pre-compiled package...is this an error I can simply ignore? Your patch seems to indicate you're just ignoring the result of the fsync call.
With dbox yes, you can just ignore the error. Maildir probably would give user-visible errors.
Why the difference? I can see a big deal for mbox - but why Maildir?
-- Daniel
On Thu, 2009-03-05 at 14:42 -0800, Daniel L. Miller wrote:
With dbox yes, you can just ignore the error. Maildir probably would give user-visible errors.
Why the difference? I can see a big deal for mbox - but why Maildir?
It's just because of how the code was written. In maildir code if fdatasync_path() returns -1, the code continues returning -1 which eventually causes the entire operation to fail and an error be returned to user.
With dbox the code just didn't bother checking if fdatasync_path() returned -1 or 0. With mbox it never even calls that function.
Timo Sirainen wrote:
On Thu, 2009-03-05 at 14:42 -0800, Daniel L. Miller wrote:
With dbox yes, you can just ignore the error. Maildir probably would give user-visible errors.
Why the difference? I can see a big deal for mbox - but why Maildir?
It's just because of how the code was written. In maildir code if fdatasync_path() returns -1, the code continues returning -1 which eventually causes the entire operation to fail and an error be returned to user.
With dbox the code just didn't bother checking if fdatasync_path() returned -1 or 0. With mbox it never even calls that function.
So if dbox doesn't check - is that a "critical" function (I'm not even sure what it does)? Is there any reason I shouldn't ignore the dbox errors and continue trying it for a new server?
-- Daniel
participants (2)
-
Daniel L. Miller
-
Timo Sirainen