- It is not safe to retry calls to fsync on Linux following an EIO return, since the EIO return is used to flag that a write call failed, and thus the sync doesn't contain all of the expected data.
There is a detailed explanation on StackOverflow here.
Thanks mdcallag for bringing this to our attention.