On Jul 31, 2013, at 10:04 PM, Christos Zoulas <chris...@astron.com> wrote:
> In article <20130730211200.gd96...@trav.math.uni-bonn.de>, > Edgar Fuß <e...@math.uni-bonn.de> wrote: >>> I think the problem is in nfs_setattr(), sys/nfs/nfs_vnops.c:681, >>> where files are flushed before setattr "because a later write of >>> cached data might change timestamps or reset sugid bits", but the >>> only return value of nfs_vinvalbuf() that's treated as an error is >>> EINTR. Why? >> Any comments on this? >> We are losing mail because of this problem so I would like to get it fixed. > > Yes, I believe you are right. Return an error for all errors. No - nfs_vinvalbuf() returns zero or EINTR, there are no other errors. Does vinvalbuf() return an error from fsync here thats gets missed because vinvalbuf() loops until it returns zero? -- J. Hannken-Illjes - hann...@eis.cs.tu-bs.de - TU Braunschweig (Germany)