• Marko Mäkelä's avatar
    Bug#11766305 - 59392: Remove thr0loc.c and ibuf_inside() [part 4 of 4] · 538e7d16
    Marko Mäkelä authored
    ibuf_inside(), ibuf_enter(), ibuf_exit(): Add the parameter mtr. The
    flag is no longer kept in the thread-local storage but in the
    mini-transaction (mtr->inside_ibuf).
    
    mtr_start(): Clean up the comment and remove the unused return value.
    mtr_commit(): Assert !ibuf_inside(mtr) in debug builds.
    
    ibuf_mtr_start(): Like mtr_start(), but sets the flag.
    ibuf_mtr_commit(), ibuf_btr_pcur_commit_specify_mtr(): Wrappers that
    assert ibuf_inside().
    
    buf_page_get_zip(), buf_page_init_for_read(),
    buf_read_ibuf_merge_pages(), fil_io(), ibuf_free_excess_pages(),
    ibuf_contract_ext(): Remove assertions on ibuf_inside(), because a
    mini-transaction is not available.
    
    buf_read_ahead_linear(): Add the parameter inside_ibuf.
    
    ibuf_restore_pos(): When this function returns FALSE, it commits mtr
    and must therefore do ibuf_exit(mtr).
    
    ibuf_delete_rec(): This function commits mtr and must therefore do
    ibuf_exit(mtr).
    
    ibuf_rec_get_page_no(), ibuf_rec_get_space(), ibuf_rec_get_info(),
    ibuf_rec_get_op_type(), ibuf_build_entry_from_ibuf_rec(),
    ibuf_rec_get_volume(), ibuf_get_merge_page_nos(),
    ibuf_get_volume_buffered_count(), ibuf_get_entry_counter_low(): Add
    the parameter mtr in debug builds, for asserting ibuf_inside(mtr).
    
    rb:585 approved by Sunny Bains
    538e7d16
ibuf0ibuf.c 136 KB