POSIX requer que read-after-write () sempre retorne os dados corretos, de acordo com o link :
After a write() to a regular file has successfully returned:
- Any successful read() from each byte position in the file that was modified by that write will return the data specified by the write() for that position until such byte positions are again modified.
O arquivo mtime não é atualizado até o final da gravação no Linux, então não deve ser possível ver um mtime atualizado sem ver os dados que causaram esse atualização do mtime.
Upon successful completion, where nbyte is greater than 0, write() will mark for update the st_ctime and st_mtime fields of the file
O Ext4 tenta garantir a conformidade com POSIX, portanto, você deve estar seguro neste caso, mas nem todo sistema de arquivos é totalmente compatível com POSIX, portanto, YMMV.