Skip to content
  • Theodore Ts'o's avatar
    ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted · 786ec791
    Theodore Ts'o authored
    Dimitry Monakhov discovered an edge case where it was possible for the
    EXT4_EOFBLOCKS_FL flag could get cleared unnecessarily.  This is true;
    I have a test case that can be exercised via downloading and
    decompressing the file:
    
    wget ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/ext4-testcases/eofblocks-fl-test-case.img.bz2
    
    
    bunzip2 eofblocks-fl-test-case.img
    dd if=/dev/zero of=eofblocks-fl-test-case.img bs=1k seek=17925 bs=1k count=1 conv=notrunc
    
    However, triggering it in real life is highly unlikely since it
    requires an extremely fragmented sparse file with a hole in exactly
    the right place in the extent tree.  (It actually took quite a bit of
    work to generate this test case.)  Still, it's nice to get even
    extreme corner cases to be correct, so this patch makes sure that we
    don't clear the EXT4_EOFBLOCKS_FL incorrectly even in this corner
    case.
    
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    
    
    786ec791