summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-02-02 18:16:16 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-02-02 18:17:44 +0530
commitb76e5c66107d75d0161d8f8ab3cf05fc360c831e (patch)
tree1b14be0dda0535d33226d2003150bc789b8f32f8
parentb5dab19efaf9dfcc61ef91db19f38e9f8c8d8382 (diff)
downloadmariadb-git-b76e5c66107d75d0161d8f8ab3cf05fc360c831e.tar.gz
MDEV-24765 fseg_free_extent fails to call buf_page_free() for the whole segment
This is caused by commit c92f7e287fc0e21dc1b181284b1f8e2139d1c331(MDEV-8139). InnoDB fails to set the page status as FREED in buffer pool while freeing the extent.
-rw-r--r--storage/innobase/fsp/fsp0fsp.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/storage/innobase/fsp/fsp0fsp.cc b/storage/innobase/fsp/fsp0fsp.cc
index 8b821755227..650bf99695e 100644
--- a/storage/innobase/fsp/fsp0fsp.cc
+++ b/storage/innobase/fsp/fsp0fsp.cc
@@ -2635,9 +2635,9 @@ fseg_free_extent(
fsp_free_extent(space, page, mtr);
- for (ulint i = 0; i < FSP_EXTENT_SIZE; i++) {
+ for (uint32_t i = 0; i < FSP_EXTENT_SIZE; i++) {
if (!xdes_is_free(descr, i)) {
- buf_page_free(space, first_page_in_extent + 1, mtr,
+ buf_page_free(space, first_page_in_extent + i, mtr,
__FILE__, __LINE__);
}
}