summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2003-10-19 20:31:32 +0300
committerunknown <heikki@hundin.mysql.fi>2003-10-19 20:31:32 +0300
commita2611f9ec61ab3de5177d389aa204db98548da14 (patch)
tree52bd1cc16a4ee9540edaeb227e99d5e640aa4583
parent931d4fccc0e1dc2a2c0882f54dbd1f2bcea885ef (diff)
downloadmariadb-git-a2611f9ec61ab3de5177d389aa204db98548da14.tar.gz
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: 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
-rw-r--r--innobase/os/os0file.c4
1 files changed, 4 insertions, 0 deletions
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);
}