Hi Laurynas,

On Wed, May 6, 2015 at 9:14 PM, Laurynas Biveinis <
laurynas.bivei...@gmail.com> wrote:

> Xiaofei -
>
> > Does InnoDB maintain a dirty
> > page table?
>
> You must be referring to the buffer pool flush_list.
>

You are right. The flush_list is can be used for recovery and checkpoint.


>
> > Is fsync called to guarantee the page to be on persistent
> > storage so that the dirty page table can be updated? If this is the case,
> > when is the dirty page table updated for asynchronous IOs?
>
> Check buf_flush_write_complete in buf0flu.cc. For async IO it is
> called from buf_page_io_complete in buf0buf.cc.
>

You are right that this is the place it updates the dirty page information.
But I still don't understand why the fsync is needed for synchronous IOs,
but not for the AIOs. Jan Lindstrom said fsync is also called for other AIO
operations. But I could only it true in one of many AIO operations. Or
maybe I am missing something still?


>
> --
> Laurynas
>
_______________________________________________
Mailing list: https://launchpad.net/~maria-discuss
Post to     : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to