On Wed, Feb 4, 2009 at 2:16 PM, Ivan Novick <ivan@stripped> wrote:
> Hi there,
> The online documentation for this parameter indicates that by default innodb
> will call fsync after writing to data files:
> However when looking through the code it appears that the calls to fsync
> have been removed with the #ifdef UNIV_DO_FLUSH preprocessor variable which
> is not defined on my system, thus making this configuration parameter
> ignored .
> Am I missing something here, or is this documentation out of date /
> misleading in indicating that all data is fsync'd to disk?
> Thanks for your help.
> Ivan Novick
Innodb calls fsync in os_file_flush() which does not reference
UNIV_DO_FLUSH. os_file_flush() is called from fil_flush to try to
fsync. Whether fsync is done is determined by the value of the my.cnf
parameter innodb_flush_method and os_file_flush() looks at variables
derived from that to figure out what to do.
> MySQL Internals Mailing List
> For list archives: http://lists.mysql.com/internals
> To unsubscribe: http://lists.mysql.com/internals?unsub=1