On Tue, 2006-07-04 at 15:17 +0200, Alain Hofer wrote:
What I saw meanwhile truss log makes me suspecious:
1530: rename("/home/hofer/Mail/.subscriptions.lock", "/home/hofer/Mail/.subscriptions") = 0 .. 1530: open64("/home/hofer/Mail/.subscriptions", O_RDONLY) Err#2 ENOENT
This is the same problem as I heard before from another Solaris NFS user. I think this is clearly a bug in it. The rename succeeds and nothing ever deletes the file, so it should exist. This can be worked around by closing the file descriptor before doing rename().
The attached patch probably helps, but I'm not sure if it fixes all the problems. I'd suggest checking if there are patches to Solaris itself that fix this. If there are, I'd like to hear about them so I can in future refer people to them.