On Jul 31, 2013, at 10:04 PM, Christos Zoulas <christos%astron.com@localhost>
wrote:
> In article <20130730211200.GD96484%trav.math.uni-bonn.de@localhost>,
> Edgar Fuß <ef%math.uni-bonn.de@localhost> 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 - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig
(Germany)