Clarify ALL_O_DIRECT relationship with fsync()
|Percona Server||Status tracked in 5.6|
ALL_O_DIRECT is documented as "use O_DIRECT [to] open and flush both the data and the log files." . Preceding it, O_DIRECT is documented as use "O_DIRECT (...) to open the data files; use fsync() to flush both the data and log files.", which is a copy-paste from Oracle docs  and is best rephrased.
ALL_O_DIRECT is missing a similar fsync() comment and source code reading tells that fsync() is skipped for all the log writes: both checkpoint info and log data. A similar setup for data files might result in issues with metadata being out of sync in case of crash (i.e. see 5.6 O_DIRECT_NO_FSYNC docs), but is probably safe for log files as they are fixed-size.
Thus let's fix the docs by 1) rewriting the O_DIRECT bit not to copy-paste Oracle docs; 2) adding to ALL_O_DIRECT that fsync() is used for data files and skipped for log files.
- Laurynas Biveinis: Approve on 2013-09-30
Diff: 80 lines (+20/-3)5 files modifieddoc/source/diagnostics/user_stats.rst (+6/-0)