Stale NFS file handles on 8.x amd64
John Baldwin
jhb at freebsd.org
Tue Nov 30 14:43:50 UTC 2010
On Monday, November 29, 2010 8:06:54 pm Adam McDougall wrote:
> I've been running dovecot 1.1 on FreeBSD 7.x for a while with a bare
> minimum of NFS problems, but it got worse with 8.x. I have 2-4 servers
> (usually just 2) accessing mail on a Netapp over NFSv3 via imapd.
> delivery is via procmail which doesn't touch the dovecot metadata and
> webmail uses imapd. Client connections to imapd go to random servers
> and I don't yet have solid means to keep certain users on certain
> servers. I upgraded some of the servers to 8.x and dovecot 1.2 and ran
> into Stale NFS file handles causing index/uidlist corruption causing
> inboxes to appear as empty when they were not. In some situations their
> corrupt index had to be deleted manually. I first suspected dovecot 1.2
> since it was upgraded at the same time but I downgraded to 1.1 and its
> doing the same thing. I don't really have a wealth of details to go on
> yet and I usually stay quiet until I do, and half the time it is
> difficult to reproduce myself so I've had to put it in production to get
> a feel for progress. This only happens a dozen or so times per weekday
> but I feel the need to start taking bigger steps. I'll probably do what
> I can to get IMAP back on a stable base (7.x?) and also try to debug 8.x
> on the remaining servers. A binary search is within possibility if I
> can reproduce the symptoms often enough even if I have to put a test
> server in production for a few hours.
There were some changes to allow more concurrency in the NFS client in 8 (and
7.2+) that caused ESTALE errors to occur on open(2) more frequently. You can
try setting 'vfs.lookup_shared=0' to disable the extra concurrency (but at a
performance cost) as a workaround. The most recent 7.x and 8.x have some
changes to open(2) to minimize ESTALE errors that I think get it back to the
same level as when lookup_shared is set to 0.
--
John Baldwin
More information about the freebsd-stable
mailing list