Minimum inode size should be raised to 256 for forward compatibility (Y2038)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
e2fsprogs (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
mke2fs in all supported Ubuntu releases to date creates 'small' ext4 file systems with an inode size of 128. This is said to be insufficient to store time stamps referring to year 2038 and later (when the Unix epoch exceeds a signed 32-bit integer - https:/
kernel: ext4 filesystem being mounted at /boot supports timestamps until 2038 (0x7fffffff)
Cf. https:/
Admittedly, that's another 18 years, by when most systems installed now will be no longer in use, or will have been reinstalled.
Also, on a /boot file system the 5.4.0-33-generic #37 Ubuntu (20.04) kernel warned about this, I was able to
$ touch -t 203812312359 /tmp/test
and got
$ ls -l /tmp/test
-rw-r--r-- 1 root root 0 Dez 31 2038 /tmp/test
so this warning may not always apply, or patches may have been applied to handle this situation more gracefully already.
Ubuntu 20.04 comes with e2fsprogs 1.45.5-2ubuntu1. Theodore Y. Ts'o has submitted patches for Debian's 1.45.6-1 - but (strictly speaking based on the changelog) these seem to be limited to documentation changes.
Still, creating such file systems may seem undesirable in terms of forward compatibility. I therefore suggest to change the minimum inode size for mke2fs, as defined in /etc/mke2fs.conf, to 256 for all file systems which do not already use this value (maybe with the exception of floppies). That is, I suggest the following change to Ubuntu 20.04's /etc/mke2fs.conf:
Before change:
small = {
}
After change:
small = {
}
This assumes that the default inode size is already set to 256 further above.
As a WORKAROUND, after backing up the file system (this command is not well tested, according to the lead ext4 file system developer), users can unmount the affected file system and run
tune2fs -I 256 /path/to/
where /path/to/
findmnt /boot
command would return the block device path in the SOURCE column.
Please note I prefer not to use apport for this bug report, I believe it is already sufficiently complete.
Actually this is not an installer issue, just indirectly.