On Jul 31, 2013, at 10:04 PM, Christos Zoulas <[email protected]> wrote:
> In article <[email protected]>, > Edgar Fuß <[email protected]> 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 - [email protected] - TU Braunschweig (Germany)
