diff options
author | unknown <heikki@hundin.mysql.fi> | 2002-07-19 18:49:25 +0300 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2002-07-19 18:49:25 +0300 |
commit | 887aaff93919e9f359133d8c7a86277789d130e1 (patch) | |
tree | 6769b33b2e799157435c130647e67fd387285ada /innobase/fil | |
parent | dda85ba004d099adfcdf794e02db4467f3662409 (diff) | |
download | mariadb-git-887aaff93919e9f359133d8c7a86277789d130e1.tar.gz |
fil0fil.c:
Align a buffer for i/o from a raw device
innobase/fil/fil0fil.c:
Align a buffer for i/o from a raw device
Diffstat (limited to 'innobase/fil')
-rw-r--r-- | innobase/fil/fil0fil.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/innobase/fil/fil0fil.c b/innobase/fil/fil0fil.c index ca508785497..910ca842f21 100644 --- a/innobase/fil/fil0fil.c +++ b/innobase/fil/fil0fil.c @@ -573,17 +573,20 @@ fil_read_flushed_lsn_and_arch_log_no( ulint* max_arch_log_no) /* in/out: */ { byte* buf; + byte* buf2; dulint flushed_lsn; ulint arch_log_no; - buf = ut_malloc(UNIV_PAGE_SIZE); - + buf2 = ut_malloc(2 * UNIV_PAGE_SIZE); + /* Align the memory for a possibel read from a raw device */ + buf = ut_align(buf2, UNIV_PAGE_SIZE); + os_file_read(data_file, buf, 0, 0, UNIV_PAGE_SIZE); flushed_lsn = mach_read_from_8(buf + FIL_PAGE_FILE_FLUSH_LSN); arch_log_no = mach_read_from_4(buf + FIL_PAGE_ARCH_LOG_NO); - ut_free(buf); + ut_free(buf2); if (!one_read_already) { *min_flushed_lsn = flushed_lsn; |