Commit 5862a54b authored by Vasil Dimov's avatar Vasil Dimov

Move os_file_write() before posix_fadvise(POSIX_FADV_DONTNEED).

It is wrong to tell the OS that a block is not going to be accessed and
write to it immediately afterwards.
parent 34096d47
......@@ -740,6 +740,12 @@ row_merge_write(
{
ib_uint64_t ofs = ((ib_uint64_t) offset)
* sizeof(row_merge_block_t);
ibool ret;
ret = os_file_write("(merge)", OS_FILE_FROM_FD(fd), buf,
(ulint) (ofs & 0xFFFFFFFF),
(ulint) (ofs >> 32),
sizeof(row_merge_block_t));
#ifdef UNIV_DEBUG
if (row_merge_print_block_write) {
......@@ -754,10 +760,7 @@ row_merge_write(
posix_fadvise(fd, ofs, sizeof *buf, POSIX_FADV_DONTNEED);
#endif /* POSIX_FADV_DONTNEED */
return(UNIV_LIKELY(os_file_write("(merge)", OS_FILE_FROM_FD(fd), buf,
(ulint) (ofs & 0xFFFFFFFF),
(ulint) (ofs >> 32),
sizeof(row_merge_block_t))));
return(UNIV_LIKELY(ret));
}
/********************************************************************//**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment