• Theodore Ts'o's avatar
    ext4: Fix bugs in mballoc's stream allocation mode · 4ba74d00
    Theodore Ts'o authored
    The logic around sbi->s_mb_last_group and sbi->s_mb_last_start was all
    screwed up.  These fields were getting unconditionally all the time,
    set even when stream allocation had not taken place, and if they were
    being used when the file was smaller than s_mb_stream_request, which
    is when the allocation should _not_ be doing stream allocation.
    
    Fix this by determining whether or not we stream allocation should
    take place once, in ext4_mb_group_or_file(), and setting a flag which
    gets used in ext4_mb_regular_allocator() and ext4_mb_use_best_found().
    This simplifies the code and assures that we are consistently using
    (or not using) the stream allocation logic.
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    4ba74d00
ext4.h 58.4 KB