Comment 2 for bug 1095249

Revision history for this message
Alexey Kopytov (akopytov) wrote : Re: [Bug 1095249] Re: Built-in compression does inefficient I/O

Hi Raghavendra,

On Thu, 03 Jan 2013 14:50:45 -0000, Raghavendra D Prabhu wrote:
> There is also one here:
>
>
> stream_one_file(File file, xb_wstream_file_t *xbfile)
> {
> uchar buf[XBSTREAM_BUFFER_SIZE];
> size_t bytes;
>
> posix_fadvise(file, 0, 0, POSIX_FADV_SEQUENTIAL);
>
> while ((bytes = my_read(file, buf, XBSTREAM_BUFFER_SIZE,
> MYF(MY_WME))) > 0) {
> if (xb_stream_write_data(xbfile, buf, bytes)) {
> msg("%s: xb_stream_write_data() failed.\n",
> my_progname);
> return 1;
> }
> posix_fadvise(file, 0, 0, POSIX_FADV_DONTNEED);
>
> }
> ......
> .....
>
> here, it is doing fadvise POSIX_FADV_SEQ which doubles the
> readahead but in the loop it discards it everytime. It should
> either do POSIX_FADV_DONTNEED at the end (outside the loop) or
> use ranges with POSIX_FADV_DONTNEED in the loop.
>

Agree, please report it as a separate bug, as it's not directly related
to this one. And the same is done by xtrabackup when reading the file IIRC.