• Marko Mäkelä's avatar
    Follow-up fix to MDEV-12026: FIL_SPACE_FLAGS trump fil_space_t::flags · 2151aed4
    Marko Mäkelä authored
    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.
    2151aed4
fil0fil.cc 142 KB