dovecot-1.1: nfs+maildir: lseek() may also return ESTALE failure...

dovecot at dovecot.org dovecot at dovecot.org
Mon Feb 2 21:57:15 EET 2009


details:   http://hg.dovecot.org/dovecot-1.1/rev/08f66fd9500b
changeset: 8143:08f66fd9500b
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Feb 02 14:57:11 2009 -0500
description:
nfs+maildir: lseek() may also return ESTALE failure, handle it.

diffstat:

1 file changed, 4 insertions(+)
src/lib-storage/index/maildir/maildir-uidlist.c |    4 ++++

diffs (14 lines):

diff -r 065f5a81b428 -r 08f66fd9500b src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Feb 02 12:47:01 2009 -0500
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Feb 02 14:57:11 2009 -0500
@@ -599,6 +599,10 @@ maildir_uidlist_update_read(struct maild
 		/* the file was updated */
 		fd = uidlist->fd;
 		if (lseek(fd, 0, SEEK_SET) < 0) {
+			if (errno == ESTALE && try_retry) {
+				*retry_r = TRUE;
+				return -1;
+			}
 			mail_storage_set_critical(storage,
 				"lseek(%s) failed: %m", uidlist->path);
 			return -1;


More information about the dovecot-cvs mailing list