No. Kernels before 4.13 may or may not report the fsync error correctly, depending on various conditions.
There are more details in the talk [1] I posted earlier, and in the LWN articles related to this issue.
There are more details in the talk [1] I posted earlier, and in the LWN articles related to this issue.
Someone issuing a sync() could cause an error to be cleared before the app's fsync() happens. That's a drag.