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

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


details:   http://hg.dovecot.org/dovecot-1.2/rev/e07901202df1
changeset: 8703:e07901202df1
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Feb 02 14:57:33 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 8fb251e401e6 -r e07901202df1 src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Feb 02 12:50:27 2009 -0500
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Feb 02 14:57:33 2009 -0500
@@ -603,6 +603,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