• Andreas Dilger's avatar
    ext4: avoid Y2038 overflow in recently_deleted() · b5f51573
    Andreas Dilger authored
    Avoid a 32-bit time overflow in recently_deleted() since i_dtime
    (inode deletion time) is stored only as a 32-bit value on disk.
    Since i_dtime isn't used for much beyond a boolean value in e2fsck
    and is otherwise only used in this function in the kernel, there is
    no benefit to use more space in the inode for this field on disk.
    
    Instead, compare only the relative deletion time with the low
    32 bits of the time using the newly-added time_before32() helper,
    which is similar to time_before() and time_after() for jiffies.
    
    Increase RECENTCY_DIRTY to 300s based on Ted's comments about
    usage experience at Google.
    Signed-off-by: default avatarAndreas Dilger <adilger@dilger.ca>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
    b5f51573
ialloc.c 40.3 KB