@@ -2603,6 +2603,17 @@ profile_error:
exit(1);
}
+ /*
+ * Warn the user that filesystems with 128-byte inodes will
+ * not work properly beyond 2038. This can be suppressed via
+ * a boolean in the mke2fs.conf file, and we will disable this
+ * warning for ext2, ext3, and hurd file systems.
+ */
+ if (inode_size == EXT2_GOOD_OLD_INODE_SIZE &&
+ get_bool_from_profile(fs_types, "warn_y2038_dates", 1))
+ printf(
+_("128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"));
+
/* Make sure number of inodes specified will fit in 32 bits */
if (num_inodes == 0) {
unsigned long long n;
@@ -505,6 +505,13 @@ This relation specifies the base file name for the huge files.
This relation specifies the (zero-padded) width of the field for the
huge file number.
.TP
+.I warn_y2038_dates
+This boolean relation specifies wheather mke2fs will issue a warning
+when creating a file system with 128 byte inodes (and so therefore will
+not support dates after January 19th, 2038. The default value is true,
+except for file systems created for the GNU Hurd, which does not support
+inodes larger than 128 bytes.
+.TP
.I zero_hugefiles
This boolean relation specifies whether or not zero blocks will be
written to the hugefiles while
@@ -12,16 +12,13 @@
}
ext4 = {
features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize
- inode_size = 256
}
small = {
blocksize = 1024
- inode_size = 128
inode_ratio = 4096
}
floppy = {
blocksize = 1024
- inode_size = 128
inode_ratio = 8192
}
big = {
@@ -44,4 +41,5 @@
hurd = {
blocksize = 4096
inode_size = 128
+ warn_y2038_dates = 0
}