]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ext4: remove timebomb in ext4_decode_extra_time()
authorChristoph Hellwig <hch@lst.de>
Thu, 24 Aug 2017 17:59:24 +0000 (13:59 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 24 Aug 2017 17:59:24 +0000 (13:59 -0400)
Changing behavior based on the version code is a timebomb waiting to
happen, and not easily bisectable.  Drop it and leave any removal
to explicit developer action. (And I don't think file system
should _ever_ remove backwards compatibility that has no explicit
flag, but I'll leave that to the ext4 folks).

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Eric Biggers <ebiggers@google.com>
fs/ext4/ext4.h

index a2bb7d2870e487de3f8601107cdf67c05b022034..08d693255567b7442c5aae475b9105bc2289473e 100644 (file)
@@ -838,13 +838,11 @@ static inline void ext4_decode_extra_time(struct timespec *time, __le32 extra)
 {
        if (unlikely(sizeof(time->tv_sec) > 4 &&
                        (extra & cpu_to_le32(EXT4_EPOCH_MASK)))) {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,20,0)
+
+#if 1
                /* Handle legacy encoding of pre-1970 dates with epoch
-                * bits 1,1.  We assume that by kernel version 4.20,
-                * everyone will have run fsck over the affected
-                * filesystems to correct the problem.  (This
-                * backwards compatibility may be removed before this
-                * time, at the discretion of the ext4 developers.)
+                * bits 1,1. (This backwards compatibility may be removed
+                * at the discretion of the ext4 developers.)
                 */
                u64 extra_bits = le32_to_cpu(extra) & EXT4_EPOCH_MASK;
                if (extra_bits == 3 && ((time->tv_sec) & 0x80000000) != 0)