• Marko Mäkelä's avatar
    MDEV-14132 InnoDB page corruption · 51679e5c
    Marko Mäkelä authored
    On some old GNU/Linux systems, invoking posix_fallocate() with
    offset=0 would sometimes cause already allocated bytes in the
    data file to be overwritten.
    
    Fix a correctness regression that was introduced in
    commit 420798a8
    by invoking posix_fallocate() in a safer way.
    A similar change was made in MDEV-5746 earlier.
    
    os_file_get_size(): Avoid changing the state of the file handle,
    by invoking fstat() instead of lseek().
    
    os_file_set_size(): Determine the current size of the file
    by os_file_get_size(), and then extend the file from that point
    onwards.
    51679e5c
os0file.cc 168 KB