Согласно тузд документации по O_DSYNC (http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_flush_method):Mysql O_DSYNC путаница
«O_DSYNC:. InnoDB использует O_SYNC, чтобы открыть и очистить файлы журналов и FSYNC(), чтобы очистить файлы данных InnoDB не использует O_DSYNC напрямую потому что были проблемы с ним на многих разновидностях Unix ».
Но вызов fsync() заставляет файл синхронизировать состояние завершения целостности файла ввода/вывода (данные и метаданные), а функция fdatasync() только заставляет файл в состояние завершения целостности данных с синхронизированным вводом-выводом. (без метаданных)
Поэтому в соответствии с этим mysql должен использовать fdatasync() ant not fsync() для имитации O_DSYNC (что заставляет записи выполняться в соответствии с требованиями завершения целостности данных с синхронизированным вводом-выводом, например fdatasync()), , флаг. Что мне здесь не хватает?