Linux 5.10 将解决 2038 年问题,延长至 2486 年

系统 Linux
即将发布的 Linux 5.10 或将包括针对 2038 年问题(又称 “Y2038” 或 “Unix Y2K” 问题)的进一步修复。Linux 内核邮件列表显示,Oracle 文件系统开发人员 Darrick J. Wong 已提交了有关 XFS 文件系统的代码,其中添加了一个新功能以支持时间戳,直至 2486 年。

[[347822]]

即将发布的 Linux 5.10 或将包括针对 2038 年问题(又称 “Y2038” 或 “Unix Y2K” 问题)的进一步修复。Linux 内核邮件列表显示,Oracle 文件系统开发人员 Darrick J. Wong 已提交了有关 XFS 文件系统的代码,其中添加了一个新功能以支持时间戳,直至 2486 年。

2038 年问题与千年虫问题类似,它可能会导致某些软件在 2038 年 1 月 19 日 3 时 14 分 07 秒之后无法正常工作。届时,在大部分 32 位操作系统上,依据 “time_t” 标准,时间将会“绕回”且在内部被表示为一个负数,并造成程序无法工作,因为它们无法识别 2038 年,而可能会跳回 1970 年或 1901 年。

如 Phoronix 所述,XFS 支持了两项新的 on-disk meta-data 功能,具体为:

分配组中现在会记录 inode btrees 的大小。这样做是为了增加冗余检查,并允许更快的安装时间。

支持直到 2486 年的时间戳。这个“大时间戳”功能是对其时间戳和 inode 编码功能进行重构,以将时间戳作为 64 位纳秒计数器进行处理,并通过移位来增加有效大小。现在,这使 XFS 可以很好地克服 2038 年的问题(在那里,以秒为单位存储自 1970 年以来的时间将不再适合有符号的 32 位整数,因此无法环绕)到现在的 2486 年。使用以下命令创建新的XFS文件系统:启用 bigtime 允许的时间戳范围是 1901 年 12 月至 2486 年 7 月,而不是 1901 年 12 月至 2038 年 1 月。为了保持向后兼容,默认情况下当前未启用 big timestamps 功能。

此外,今年年初,Linux Kernel 5.6 的开发者也早就准备好着手解决将在下一个十年到来的 2038 年问题。Linux 5.6 也是第一个为 32 位系统准备运行到 2038 年之后的主线内核。

本站转载自OSCHINA。

本文标题:Linux 5.10 将解决 2038 年问题,延长至 2486 年

本文地址:https://www.oschina.net/news/119343/linux-5-10-year-2038-problem-2486

责任编辑:未丽燕 来源: 开源中国
相关推荐

2021-01-29 14:20:28

Linux 5.10维护Linux 基金会

2021-05-11 05:40:40

Linux运维Linux系统

2020-11-24 15:04:19

ChromeWindows 7浏览器

2021-05-10 14:42:19

Linux维护开发者

2021-09-22 10:10:30

LinuxUbuntuCanonical

2021-09-24 08:55:34

LinuxUbuntu 14.016.04 LTS

2023-08-04 15:49:08

物联网5G

2013-11-25 13:41:43

SUSE Linux

2011-08-09 11:00:01

微软SUSE Linux

2020-03-02 14:59:26

2038问题C语言程序

2016-05-17 15:08:42

Hadoop

2011-05-27 10:07:26

台式机行情

2021-11-19 14:24:30

微软Windows性能

2020-04-17 19:44:58

芯片PC麦肯锡

2024-01-23 10:27:17

Windows 11Windows 1操作系统

2022-05-11 10:27:20

物联网智慧城市

2020-12-28 12:28:24

Linux 5.10Btrfs文件系统

2014-04-15 10:04:28

Python

2023-03-09 10:29:30

AI

2021-04-15 15:31:18

蓝牙
点赞
收藏

51CTO技术栈公众号