diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-11-28 16:35:20 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-11-28 16:35:20 +0200 |
commit | beae2cf00689fa2b27fb48ddbd0c48ca58e81e2a (patch) | |
tree | 98b82c42754d606e2869e81ac1dfb00d751b5981 /storage/innobase/fsp | |
parent | bacdc4df6196d18a8a3f09ddddae0f0342f35a98 (diff) | |
parent | 4beace33160d6f94556a3e30423db1dcd0ac72cf (diff) | |
download | mariadb-git-beae2cf00689fa2b27fb48ddbd0c48ca58e81e2a.tar.gz |
Merge 10.4 into 10.5
Diffstat (limited to 'storage/innobase/fsp')
-rw-r--r-- | storage/innobase/fsp/fsp0fsp.cc | 37 |
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); |