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( ...@@ -740,6 +740,12 @@ row_merge_write(
{ {
ib_uint64_t ofs = ((ib_uint64_t) offset) ib_uint64_t ofs = ((ib_uint64_t) offset)
* sizeof(row_merge_block_t); * 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 #ifdef UNIV_DEBUG
if (row_merge_print_block_write) { if (row_merge_print_block_write) {
...@@ -754,10 +760,7 @@ row_merge_write( ...@@ -754,10 +760,7 @@ row_merge_write(
posix_fadvise(fd, ofs, sizeof *buf, POSIX_FADV_DONTNEED); posix_fadvise(fd, ofs, sizeof *buf, POSIX_FADV_DONTNEED);
#endif /* POSIX_FADV_DONTNEED */ #endif /* POSIX_FADV_DONTNEED */
return(UNIV_LIKELY(os_file_write("(merge)", OS_FILE_FROM_FD(fd), buf, return(UNIV_LIKELY(ret));
(ulint) (ofs & 0xFFFFFFFF),
(ulint) (ofs >> 32),
sizeof(row_merge_block_t))));
} }
/********************************************************************//** /********************************************************************//**
......
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