|
InnoDB fails to mark the page status as FREED during freeing of an extent of a segment.
This behaviour affects scrubbing and doesn't write all zeroes in file even though
pages are freed.
|
fsp_free_extent(space, page, mtr);
|
|
for (uint32_t i = 0; i < FSP_EXTENT_SIZE; i++) {
|
if (!xdes_is_free(descr, i)) {
|
buf_page_free(space, first_page_in_extent + i, mtr,
|
__FILE__, __LINE__);
|
}
|
}
|
|
Above fsp_free_extent() calls xdes_init() and reinitialize all bitmap of
the extent descriptor page. After that, we rely on bitmap of extent descriptor
page to call buf_page_free()
|