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:
>
> http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#sysvar_innodb_
> 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: http://lists.mysql.com/internals
> To unsubscribe:    http://lists.mysql.com/internals?unsub=1
>
>



-- 
Mark Callaghan
mdcallag@stripped
Thread
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