• Theodore Ts'o's avatar
    ext4: make the extent_status code more robust against ENOMEM failures · e15f742c
    Theodore Ts'o authored
    Some callers of ext4_es_remove_extent() and ext4_es_insert_extent()
    may not be completely robust against ENOMEM failures (or the
    consequences of reflecting ENOMEM back up to userspace may lead to
    xfstest or user application failure).
    
    To mitigate against this, when trying to insert an entry in the extent
    status tree, try to shrink the inode's extent status tree before
    returning ENOMEM.  If there are entries which don't record information
    about extents under delayed allocations, freeing one of them is
    preferable to returning ENOMEM.
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    Reviewed-by: default avatarZheng Liu <wenqing.lz@taobao.com>
    e15f742c
extents_status.c 28.1 KB