• Marko Mäkelä's avatar
    MDEV-12428 SIGSEGV in buf_page_decrypt_after_read() during DDL · 9505c968
    Marko Mäkelä authored
    Also, some MDEV-11738/MDEV-11581 post-push fixes.
    
    In MariaDB 10.1, there is no fil_space_t::is_being_truncated field,
    and the predicates fil_space_t::stop_new_ops and fil_space_t::is_stopping()
    are interchangeable. I requested the fil_space_t::is_stopping() to be added
    in the review, but some added checks for fil_space_t::stop_new_ops were
    not replaced with calls to fil_space_t::is_stopping().
    
    buf_page_decrypt_after_read(): In this low-level I/O operation, we must
    look up the tablespace if it exists, even though future I/O operations
    have been blocked on it due to a pending DDL operation, such as DROP TABLE
    or TRUNCATE TABLE or other table-rebuilding operations (ALTER, OPTIMIZE).
    Pass a parameter to fil_space_acquire_low() telling that we are performing
    a low-level I/O operation and the fil_space_t::is_stopping() status should
    be ignored.
    9505c968
fil0fil.h 51.1 KB