summaryrefslogtreecommitdiff
path: root/storage/innobase/fsp
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-11-28 16:35:20 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2019-11-28 16:35:20 +0200
commitbeae2cf00689fa2b27fb48ddbd0c48ca58e81e2a (patch)
tree98b82c42754d606e2869e81ac1dfb00d751b5981 /storage/innobase/fsp
parentbacdc4df6196d18a8a3f09ddddae0f0342f35a98 (diff)
parent4beace33160d6f94556a3e30423db1dcd0ac72cf (diff)
downloadmariadb-git-beae2cf00689fa2b27fb48ddbd0c48ca58e81e2a.tar.gz
Merge 10.4 into 10.5
Diffstat (limited to 'storage/innobase/fsp')
-rw-r--r--storage/innobase/fsp/fsp0fsp.cc37
1 files changed, 24 insertions, 13 deletions
diff --git a/storage/innobase/fsp/fsp0fsp.cc b/storage/innobase/fsp/fsp0fsp.cc
index 9ba866b086f..b6b244a45ba 100644
--- a/storage/innobase/fsp/fsp0fsp.cc
+++ b/storage/innobase/fsp/fsp0fsp.cc
@@ -932,7 +932,7 @@ fsp_fill_free_list(
buf_block_t* desc_block = NULL;
descr = xdes_get_descriptor_with_space_hdr(
header, space, i, mtr, init_space, &desc_block);
- if (desc_block != NULL) {
+ if (desc_block && !space->full_crc32()) {
fil_block_check_type(
*desc_block, FIL_PAGE_TYPE_XDES, mtr);
}
@@ -990,7 +990,7 @@ fsp_alloc_free_extent(
descr = xdes_get_descriptor_with_space_hdr(
header, space, hint, mtr, false, &desc_block);
- if (desc_block != NULL) {
+ if (desc_block && !space->full_crc32()) {
fil_block_check_type(*desc_block, FIL_PAGE_TYPE_XDES, mtr);
}
@@ -1483,7 +1483,9 @@ fsp_alloc_seg_inode(
block = buf_page_get(page_id, space->zip_size(), RW_SX_LATCH, mtr);
buf_block_dbg_add_level(block, SYNC_FSP_PAGE);
- fil_block_check_type(*block, FIL_PAGE_INODE, mtr);
+ if (!space->full_crc32()) {
+ fil_block_check_type(*block, FIL_PAGE_INODE, mtr);
+ }
page = buf_block_get_frame(block);
@@ -1783,12 +1785,13 @@ fseg_create(
header = byte_offset + buf_block_get_frame(block);
- const ulint type = space->id == TRX_SYS_SPACE
- && page == TRX_SYS_PAGE_NO
- ? FIL_PAGE_TYPE_TRX_SYS
- : FIL_PAGE_TYPE_SYS;
-
- fil_block_check_type(*block, type, mtr);
+ if (!space->full_crc32()) {
+ fil_block_check_type(*block, space->id == TRX_SYS_SPACE
+ && page == TRX_SYS_PAGE_NO
+ ? FIL_PAGE_TYPE_TRX_SYS
+ : FIL_PAGE_TYPE_SYS,
+ mtr);
+ }
}
if (!has_done_reservation
@@ -2330,7 +2333,9 @@ fseg_alloc_free_page_general(
space = mtr_x_lock_space(space_id, mtr);
inode = fseg_inode_get(seg_header, space_id, space->zip_size(),
mtr, &iblock);
- fil_block_check_type(*iblock, FIL_PAGE_INODE, mtr);
+ if (!space->full_crc32()) {
+ fil_block_check_type(*iblock, FIL_PAGE_INODE, mtr);
+ }
if (!has_done_reservation
&& !fsp_reserve_free_extents(&n_reserved, space, 2,
@@ -2746,7 +2751,9 @@ fseg_free_page_func(
seg_inode = fseg_inode_get(seg_header, space->id, space->zip_size(),
mtr,
&iblock);
- fil_block_check_type(*iblock, FIL_PAGE_INODE, mtr);
+ if (!space->full_crc32()) {
+ fil_block_check_type(*iblock, FIL_PAGE_INODE, mtr);
+ }
fseg_free_page_low(seg_inode, space, offset, ahi, log, mtr);
@@ -2918,7 +2925,9 @@ fseg_free_step_func(
DBUG_RETURN(TRUE);
}
- fil_block_check_type(*iblock, FIL_PAGE_INODE, mtr);
+ if (!space->full_crc32()) {
+ fil_block_check_type(*iblock, FIL_PAGE_INODE, mtr);
+ }
descr = fseg_get_first_extent(inode, space, mtr);
if (descr != NULL) {
@@ -2984,7 +2993,9 @@ fseg_free_step_not_header_func(
inode = fseg_inode_get(header, space_id, space->zip_size(), mtr,
&iblock);
- fil_block_check_type(*iblock, FIL_PAGE_INODE, mtr);
+ if (!space->full_crc32()) {
+ fil_block_check_type(*iblock, FIL_PAGE_INODE, mtr);
+ }
descr = fseg_get_first_extent(inode, space, mtr);