Author: michael Date: To: exim-users Subject: Re: [Exim] Re: upgrade 3.36 -> 4.04, "sync error" ??
> >fsync() on an NFS directory should be a NOP under Linux -- I don't even want > >to think about the possibility of it being otherwise. Hence it should
> >probably return zero instead of -EINVAL.
>
> It's not the VFS that checks this, it's the filesystem itself. It
> may well be possible that the UFS filesystem driver doesn't support fsync()
> on a directory either, but that it does sync the directory data when
> you fsync() the file.
I just looked at the NFS client side on Linux 2.4.19-pre8 and fsync()
is not explicitly unsupported, so it looks like a bug to me. I would
prefer to see it fixed where it origins.
The Exim release notes could mention which Linux kernels have the problem,
perhaps offer a #define to ignore it, but I would not like to see Exim
ignoring EINVAL on fsync() in general. If the kernel works correctly,
it would point out a serious problem and Exim is 100% right to defer a
message with that problem.