Re: "beyond 2038" warnings from loopback mount is noisy

From: Deepa Dinamani
Date: Wed Sep 04 2019 - 10:25:34 EST

> 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

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?