> On Sep 4, 2019, at 5:58 AM, Theodore Y. Ts'o <tytso@xxxxxxx> wrote: > >> On Tue, Sep 03, 2019 at 09:50:09PM -0700, Deepa Dinamani wrote: >> 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. > > That's better, but it's going to be misleading in many cases. The > inode's extra size field is 16 or larger, there will be enough space > for the timestamps, so talking about "timestamps on this inode beyond > 2038" when ext4 is unable to expand it from say, 24 to 32, won't be > true. Certain certain features won't be available, yes --- such as > project-id-based quotas, since there won't be room to store the > project ID. However, it's not going to impact the ability to store > timestamps beyond 2038. The i_extra_isize field is not just about > timestamps! I understand that i_extra_isize is not just about timestamps. It’s evident from EXT4_FITS_IN_INODE(). I think we can check for EXT4_FITS_IN_INODE() here if that will consistently eliminates false positives. But, I hear you. You think this warning is unnecessary. I think there are many file systems and I don’t think anybody would knows in’s and outs of each one. I think if I’m mounting an ext4 fs and it has mixed sizes of inodes, I think I would at least expect a dmesg(with a hint on how to fix it) considering that this filesystem is restricted in more ways than just time. Is this the purpose of the warning you already have?: 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.", Maybe there should be a warning, but it has nothing to do with just time. Do we already have this? -Deepa