diff options
author | unknown <heikki@hundin.mysql.fi> | 2005-08-03 18:21:38 +0300 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2005-08-03 18:21:38 +0300 |
commit | e1659c8154bca8965242fba8e90f33539decc95e (patch) | |
tree | 5b02a0b87f6a96324b0f1d250dbd42079a2820f2 /innobase | |
parent | a743ebd3a5db8f3674d74afbdb3cdc0793d490a6 (diff) | |
download | mariadb-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.c | 9 |
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++; |