summaryrefslogtreecommitdiff
path: root/storage/innobase/buf/buf0dblwr.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/buf/buf0dblwr.cc')
-rw-r--r--storage/innobase/buf/buf0dblwr.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/storage/innobase/buf/buf0dblwr.cc b/storage/innobase/buf/buf0dblwr.cc
index acd2a89e57c..791b5614fc2 100644
--- a/storage/innobase/buf/buf0dblwr.cc
+++ b/storage/innobase/buf/buf0dblwr.cc
@@ -264,6 +264,13 @@ too_small:
ut_ad(rw_lock_get_x_lock_count(&new_block->lock) == 1);
page_no = new_block->page.id.page_no();
+ /* We only do this in the debug build, to ensure that
+ both the check in buf_flush_init_for_writing() and
+ recv_parse_or_apply_log_rec_body() will see a valid
+ page type. The flushes of new_block are actually
+ unnecessary here. */
+ ut_d(mlog_write_ulint(FIL_PAGE_TYPE + new_block->frame,
+ FIL_PAGE_TYPE_SYS, MLOG_2BYTES, &mtr));
if (i == FSP_EXTENT_SIZE / 2) {
ut_a(page_no == FSP_EXTENT_SIZE);
@@ -326,6 +333,7 @@ too_small:
/* Flush the modified pages to disk and make a checkpoint */
log_make_checkpoint();
+ buf_dblwr_being_created = FALSE;
/* Remove doublewrite pages from LRU */
buf_pool_invalidate();