@ -1881,7 +1881,6 @@ fseg_create(
buf_block_t * block = 0 ; /* remove warning */
fseg_header_t * header = 0 ; /* remove warning */
ulint n_reserved ;
ulint i ;
DBUG_ENTER ( " fseg_create " ) ;
@ -1927,9 +1926,8 @@ fseg_create(
seg_id = mach_read_from_8 ( space_header + FSP_SEG_ID ) ;
mlog_write_ull ( space_header + FSP_SEG_ID , seg_id + 1 , mtr ) ;
mlog_write_ull ( inode + FSEG_ID , seg_id , mtr ) ;
mlog_write_ulint ( inode + FSEG_NOT_FULL_N_USED , 0 , MLOG_4BYTES , mtr ) ;
ut_ad ( ! mach_read_from_4 ( inode + FSEG_NOT_FULL_N_USED ) ) ;
flst_init ( inode + FSEG_FREE , mtr ) ;
flst_init ( inode + FSEG_NOT_FULL , mtr ) ;
@ -1937,9 +1935,10 @@ fseg_create(
mlog_write_ulint ( inode + FSEG_MAGIC_N , FSEG_MAGIC_N_VALUE ,
MLOG_4BYTES , mtr ) ;
for ( i = 0 ; i < FSEG_FRAG_ARR_N_SLOTS ; i + + ) {
fseg_set_nth_frag_page_no ( inode , i , FIL_NULL , mtr ) ;
}
compile_time_assert ( FSEG_FRAG_SLOT_SIZE = = 4 ) ;
compile_time_assert ( FIL_NULL = = 0xffffffff ) ;
mlog_memset ( inode + FSEG_FRAG_ARR ,
FSEG_FRAG_SLOT_SIZE * FSEG_FRAG_ARR_N_SLOTS , 0xff , mtr ) ;
if ( page = = 0 ) {
block = fseg_alloc_free_page_low ( space ,
@ -2772,15 +2771,16 @@ fseg_free_page_low(
if ( state ! = XDES_FSEG ) {
/* The page is in the fragment pages of the segment */
for ( ulint i = 0 ; ; i + + ) {
if ( fseg_get_nth_frag_page_no ( seg_inode , i , mtr )
= = offset ) {
fseg_set_nth_frag_page_no ( seg_inode , i ,
FIL_NULL , mtr ) ;
break ;
! = offset ) {
continue ;
}
compile_time_assert ( FIL_NULL = = 0xffffffff ) ;
mlog_memset ( seg_inode + FSEG_FRAG_ARR
+ i * FSEG_FRAG_SLOT_SIZE , 4 , 0xff , mtr ) ;
break ;
}
fsp_free_page ( space , offset , log , mtr ) ;