• Marko Mäkelä's avatar
    MDEV-25121: innodb_flush_method=O_DIRECT fails on compressed tables · 6505662c
    Marko Mäkelä authored
    Tests with 4096-byte sector size confirm that it is
    safe to use O_DIRECT with page_compressed tables.
    That had been disabled on Linux, in an attempt to fix MDEV-21584
    which had been filed for the O_DIRECT problems earlier.
    
    The fil_node_t::block_size was being set mostly correctly until
    commit 10dd290b (MDEV-17380)
    introduced a regression in MariaDB Server 10.4.4.
    
    fil_node_t::read_page0(): Initialize fil_node_t::block_size.
    This will probably make similar code in fil_space_extend_must_retry()
    redundant, but we play it safe and will not remove that code.
    
    Thanks to Vladislav Vaintroub for testing this on Microsoft Windows
    using an old-fashioned rotational hard disk with 4KiB sector size.
    
    Reviewed by: Vladislav Vaintroub
    6505662c
fil0fil.cc 159 KB