If we don't care to warn about the timestamps that are clamped in memory, maybe we could just warn when they are being written out. Would something like this be more acceptable? I would also remove the warning in ext4.h. I think we don't have to check if the inode is 128 bytes here (Please correct me if I am wrong). If this looks ok, I can post this. diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 9e3ae3be3de9..24b14bd3feab 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -833,10 +833,8 @@ do { \ (raw_inode)->xtime ## _extra = \ ext4_encode_extra_time(&(inode)->xtime); \ } \ - else {\ + else \ (raw_inode)->xtime = cpu_to_le32(clamp_t(int32_t, (inode)->xtime.tv_sec, S32_MIN, S32_MAX)); \ - ext4_warning_inode(inode, "inode does not support timestamps beyond 2038"); \ - } \ } while (0) #define EXT4_EINODE_SET_XTIME(xtime, einode, raw_inode) \ diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index 491f9ee4040e..cef5b87cc5a6 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -2791,7 +2791,7 @@ int ext4_expand_extra_isize_ea(struct inode *inode, int new_extra_isize, cleanup: if (error && (mnt_count != le16_to_cpu(sbi->s_es->s_mnt_count))) { - ext4_warning(inode->i_sb, "Unable to expand inode %lu. Delete some EAs or run e2fsck.", + ext4_warning(inode->i_sb, "Unable to expand inode %lu. Delete some EAs or run e2fsck. Timestamps on the inode expire beyond 2038", inode->i_ino); mnt_count = le16_to_cpu(sbi->s_es->s_mnt_count); }