| ▲ | ozgrakkurt 7 hours ago | ||||||||||||||||
This requires O_SYNC and O_DIRECT afaik. Even then it is only some file systems that guarantee it and even then file size updating isn’t atomic afaik. Not so sure about file size update being atomic in this case but fairly sure about the rest. Matklad had some writing or video about this. Also there is a tool called ALICE and authors of that tool have a white paper about this subject. Also there was a blog post about how badger database fixed some issues around this problem. | |||||||||||||||||
| ▲ | jeffbee 6 hours ago | parent [-] | ||||||||||||||||
I don't think any part of your post is right. Aside from NFS, there should not be filesystems where this doesn't work. If there are, those are just bugs. The flags you mentioned are not required or relevant. Setting the fd offset to the end of the file atomically is the entire purpose of O_APPEND. | |||||||||||||||||
| |||||||||||||||||