XFS File-System With Linux 5.10 Punts Year 2038 Problem To The Year 2486

Not only is Btrfs seeing notable improvements with the in-development Linux 5.10 kernel but the XFS file-system also has some prominent changes of its own.



There are two new on-disk meta-data capabilities for XFS with Linux 5.10:

1. The size of inode btrees in the allocation group is now recorded. This is for increasing redundancy checks and also allowing faster mount times.

2. Support for timestamps now until the year 2486. This “big timestamps” feature is the refactoring of their timestamp and inode encoding functions to handle timestamps as a 64-bit nanosecond counter and bit shifting to increase the effective size. This now allows XFS to run well past the Year 2038 problem (where storing the time since 1970 in seconds will no longer fit in a signed 32-bit integer and thus wraparound) to now the Year 2486. Making a new XFS file-system with bigtime enabled allows a timestamp range from December 1901 to July 2486 rather than December 1901 to January 2038. For preserving backwards compatibility, the big timestamps feature is not currently enabled by default.

Besides those on-disk metadata changes, XFS for Linux 5.10 also fixes an issue where in select conditions synchronous writes wouldn’t actually flush to disk and other fixes.

The initial XFS changes for Linux 5.10 can be found via this pull request. A secondary pull request with XFS scalability improvements and other changes is expected in the coming days of the Linux 5.10 merge window.



Leave a Reply

Your email address will not be published. Required fields are marked *