• Theodore Ts'o's avatar
    ext4: refactor code to read directory blocks into ext4_read_dirblock() · dc6982ff
    Theodore Ts'o authored
    The code to read in directory blocks and verify their metadata
    checksums was replicated in ten different places across
    fs/ext4/namei.c, and the code was buggy in subtle ways in a number of
    those replicated sites.  In some cases, ext4_error() was called with a
    training newline.  In others, in particularly in empty_dir(), it was
    possible to call ext4_dirent_csum_verify() on an index block, which
    would trigger false warnings requesting the system adminsitrator to
    run e2fsck.
    
    By refactoring the code, we make the code more readable, as well as
    shrinking the compiled object file by over 700 bytes and 50 lines of
    code.
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    dc6982ff
namei.c 85.3 KB