From 9d5af4940797c7f271f88656038839ca71323b47 Mon Sep 17 00:00:00 2001 From: marko <> Date: Mon, 20 Aug 2007 12:33:27 +0000 Subject: [PATCH] branches/zip: row_merge_read(): Call os_file_read_no_error_handling() instead of os_file_read(). Display some fault diagnostics. --- row/row0merge.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/row/row0merge.c b/row/row0merge.c index 0862cbbfb8d..06b53f4fdcc 100644 --- a/row/row0merge.c +++ b/row/row0merge.c @@ -504,11 +504,19 @@ row_merge_read( row_merge_block_t* buf) /* out: data */ { ib_uint64_t ofs = ((ib_uint64_t) offset) * sizeof *buf; + ibool success; - return(UNIV_LIKELY(os_file_read(OS_FILE_FROM_FD(fd), buf, - (ulint) (ofs & 0xFFFFFFFF), - (ulint) (ofs >> 32), - sizeof *buf))); + success = os_file_read_no_error_handling(OS_FILE_FROM_FD(fd), buf, + (ulint) (ofs & 0xFFFFFFFF), + (ulint) (ofs >> 32), + sizeof *buf); + if (UNIV_UNLIKELY(!success)) { + ut_print_timestamp(stderr); + fprintf(stderr, + " InnoDB: failed to read merge block at %llu\n", ofs); + } + + return(UNIV_LIKELY(success)); } /************************************************************************