Hasty Briefsbeta

双语

Support for atomic block writes in Linux 6.13 (2025)

6 hours ago
  • #Database Performance
  • #Linux Kernel
  • #Atomic Writes
  • Linux 6.13 引入了原子块写入功能,以防止数据库中的数据撕裂。
  • 原子写入需要硬件支持(NVMe/SCSI)和软件栈更新(VFS、文件系统、块层)。
  • 数据库使用双重写入确保一致性,原子写入可以替代此机制以提升性能。
  • 当前实现通过 O_DIRECT 和带有 RWF_ATOMIC 标志的 pwritev2() 支持单块原子写入。
  • 文件系统块大小必须与设备限制对齐;ext4 将块大小限制为页大小,而 XFS 支持更大的块。
  • statx() 系统调用查询原子写入能力,包括最小/最大单元大小和支持标志。
  • 未来工作包括多块原子写入支持和更广泛的文件系统集成。