List:Internals« Previous MessageNext Message »
From:MARK CALLAGHAN Date:February 4 2009 10:45pm
Subject:Re: innodb_flush_method
View as plain text  
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:
> flush_method
> 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:
> To unsubscribe:

Mark Callaghan
innodb_flush_methodIvan Novick4 Feb
  • Re: innodb_flush_methodMARK CALLAGHAN4 Feb
    • RE: innodb_flush_methodIvan Novick5 Feb
      • Re: innodb_flush_methodVasil Dimov9 Feb
        • RE: innodb_flush_methodIvan Novick10 Feb