即将发布的Linux5.10可能包括对2038年问题(又名“Y2038”或“UnixY2K”问题)的进一步修复。Linux内核邮件列表显示,Oracle文件系统开发者DarrickJ.Wong已经提交了XFS文件系统的代码,该文件系统增加了一个新功能,支持时间戳到2486年。2038年问题类似于Y2K错误,可能导致某些软件在2038年1月19日03:14:07后无法正常运行。此时,在大多数32位操作系统上,时间将“环绕”并根据“time_t"标准,并导致程序无法运行,因为它们无法识别2038年,可能会跳回到1970年或1901年。正如Phoronix所指出的,XFS支持两个新的磁盘元数据功能,具体而言:大小inodebtrees现在记录在分配组中。这样做是为了增加冗余检查并允许更快的安装时间。支持最多2486年的时间戳。这个“大时间戳”特性是对其时间戳和inode编码函数的重构,以将时间戳作为64位纳秒计数器处理,并通过移位来增加有效大小。现在,这允许XFS在2038年之后(其中以秒为单位存储自1970年以来的时间不再适合带符号的32位整数,因此不会回绕)到现在的2486年都可以正常工作。创建一个新的XFS文件系统,其中包含以下命令:启用bigtime以允许从1901年12月到2486年7月的时间戳范围,而不是1901年12月到2038年1月。为了保持向后兼容性,目前默认情况下不启用大时间戳功能。此外,今年年初,LinuxKernel5.6的开发者也准备着手解决下一个十年到来的2038问题。Linux5.6也是第一个准备在32位系统上运行超过2038的主线内核。本站转载自OSCHINA。本文标题:Linux5.10将解决2038问题并扩展至2486
