The following list documents the assumptions the library makes. All of them should be well within normal behaviour for decent filesystems. - fcntl() locking works. - fsync(), fdatasync() and sync_file_range(WAIT_AFTER) return after the data has been stored on stable storage, like they're supposed to. - If a crash occurs while a write is in progress, the data within the relevant range may contain garbage, but the data outside the range will not be touched. Failure in doing so is normally considered corruption and covering from it is outside the scope of the library.