Follow-up fix to MDEV-12026: FIL_SPACE_FLAGS trump fil_space_t::flags
Whenever we are reading the first page of a data file, we may have to adjust the provisionally created fil_space_t::flags to match what is actually inside the data files. In this way, we will never accidentally change the format of a data file. fil_node_t::read_page0(): After validating the FIL_SPACE_FLAGS, always assign them to space->flags. btr_root_adjust_on_import(), Datafile::validate_to_dd(), fil_space_for_table_exists_in_mem(): Adapt to the fix in fil_node_t::read_page0(). fsp_flags_try_adjust(): Skip the adjustment if full_crc32 is being used. This adjustment was introduced in MDEV-11623 for upgrading from MariaDB 10.1.0 to 10.1.20, which used an accidentally changed format of FIL_SPACE_FLAGS. MariaDB before 10.4.3 never set the flag that now indicates the full_crc32 format.
Showing
Please register or sign in to comment