From e52a2f1ace9c52d012fb0f9a0f89e811e709db85 Mon Sep 17 00:00:00 2001 From: "heikki@hundin.mysql.fi" <> Date: Sun, 19 Oct 2003 20:31:32 +0300 Subject: [PATCH] os0file.c: Check that writes to data files always happen in to addresses divisible by 16 kB, and the chunk size is also divisible by 16 kB; a user reported 2 corrupt pages from Linux-2.4.20 where an index page seemed displaced --- innobase/os/os0file.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c index 24bc0f1bdf9..55d0ade1bf7 100644 --- a/innobase/os/os0file.c +++ b/innobase/os/os0file.c @@ -2678,6 +2678,10 @@ consecutive_loop: if (array == os_aio_write_array) { if ((total_len % UNIV_PAGE_SIZE != 0) || (slot->offset % UNIV_PAGE_SIZE != 0)) { + fprintf(stderr, +"InnoDB: Error: trying a displaced write to %s %lu %lu, len %lu\n", + slot->name, slot->offset_high, + slot->offset, total_len); ut_a(0); }