• Theodore Ts'o's avatar
    ext4: call ext4_es_lru_add() after handling cache miss · 63b99968
    Theodore Ts'o authored
    If there are no items in the extent status tree, ext4_es_lru_add() is
    a no-op.  So it is not sufficient to call ext4_es_lru_add() before we
    try to lookup an entry in the extent status tree.  We also need to
    call it at the end of ext4_ext_map_blocks(), after items have been
    added to the extent status tree.
    
    This could lead to inodes with that have extent status trees but which
    are not in the LRU list, which means they won't get considered for
    eviction by the es_shrinker.
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    Cc: Zheng Liu <wenqing.lz@taobao.com>
    Cc: stable@vger.kernel.org
    63b99968
inode.c 148 KB