summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2005-08-03 18:21:38 +0300
committerunknown <heikki@hundin.mysql.fi>2005-08-03 18:21:38 +0300
commite1659c8154bca8965242fba8e90f33539decc95e (patch)
tree5b02a0b87f6a96324b0f1d250dbd42079a2820f2 /innobase
parenta743ebd3a5db8f3674d74afbdb3cdc0793d490a6 (diff)
downloadmariadb-git-e1659c8154bca8965242fba8e90f33539decc95e.tar.gz
buf0buf.c:
Fix a bug: InnoDB could in a crash recovery print a big false corruption warning if the first page of an ibdata file was 'recreated' in the buffer pool; this could happen, for example, if a table was dropped, and the page used later innobase/buf/buf0buf.c: Fix a bug: InnoDB could in a crash recovery print a big false corruption warning if the first page of an ibdata file was 'recreated' in the buffer pool; this could happen, for example, if a table was dropped, and the page used later
Diffstat (limited to 'innobase')
-rw-r--r--innobase/buf/buf0buf.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/innobase/buf/buf0buf.c b/innobase/buf/buf0buf.c
index 699ad5fb42e..31a581d2ba8 100644
--- a/innobase/buf/buf0buf.c
+++ b/innobase/buf/buf0buf.c
@@ -1762,6 +1762,15 @@ buf_page_create(
buf_flush_free_margin();
frame = block->frame;
+
+ /* Reset to zero the file flush lsn field in the page; if the first
+ page of an ibdata file is 'created' in this function into the buffer
+ pool then we lose the original contents of the file flush lsn stamp.
+ Then InnoDB could in a crash recovery print a big, false, corruption
+ warning if the stamp contains an lsn bigger than the ib_logfile lsn. */
+
+ memset(frame + FIL_PAGE_FILE_FLUSH_LSN, 0, 8);
+
#ifdef UNIV_DEBUG
buf_dbg_counter++;