maria-discuss team mailing list archive
-
maria-discuss team
-
Mailing list archive
-
Message #02567
Re: fsync necessary for synchronous page flush?
Hi Laurynas,
On Wed, May 6, 2015 at 9:14 PM, Laurynas Biveinis <
laurynas.biveinis@xxxxxxxxx> 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
>
Follow ups
References