本次月报综合了 SIG 在 7、8 两个月的工作进展,包含多项新特性、优化、Bugfix 等。

SIG 整体进展

  • fuse 支持 failover,并优化 background 读写公平性,提升 AI 存储接入场景的能力。

  • erofs page cache 共享特性已发到上游社区,review 迭代中,目前已更新到 v4 版本。

  • erofs-utils 发布 1.8.1 新版本,支持多线程压缩,Intel IAA 加速器,增量构建及优化构建性能等。

  • 基于 io_uring passthrough 框架完成 virtio-blk passthrough 方案原型开发,后续将发到社区上游。

  • 回合多个内核存储模块的社区补丁,加固代码质量。 

项目具体进展

1、Cloud Kernel

cve

[Bugfix] 修复 CVE-2024-41012(PR#3784)

erofs

[Release] erofs-utils 发布新版本 1.8.1,支持多个新特性,如多线程压缩,Intel IAA 加速器,增量构建,以及构建性能优化等。

链接:erofs-utils: userspace tools for EROFS filesystem

[Feature] 支持 large folio。该特性在压测过程中发现一例 hang,经过调查分析确认为内存 migrate 导致,已提交补丁到上游社区并修复。

链接:Re: [PATCH v2] mm/migrate: fix deadlock in migrate_pages_batch() on large folios

[Feature] page cache 共享特性已发到社区,目前已更新到 v4 版本,继续 review 迭代中。

链接:[PATCH RFC v4 0/4] erofs: introduce page cache share feature

ext4

[Bugfix] 社区 stable 补丁回合。(PR#3456/PR#3477/PR#3593/PR#3596)

io_uring

[Bugfix] 社区 stable 补丁回合。(PR#3476)

[Feature] 类似 nvme passthrough,基于 io_uring passthrough 框架实现 virtio-blk passthrough 方案,旨在用于前后端高效通信场景。目前已完成原型开发,并扩展 fio ioengine io_uring_cmd 支持 virtio-blk passthrough 设备,本地验证性能提升 ~17%,后续将发出 RFC 到上游 virtio 社区。

fuse/virtio-fs

[Feature] 支持 failover 特性。该特性允许 fuse daemon 在异常恢复后,可以通过 attach 操作重新连接到原 fuse connection,重发请求等操作完成故障恢复。(PR#3433/PR#3512)

[Bugfix] 社区 stable 补丁回合。(PR#3510)

[Feature] fuse background 读写公平性优化,避免因大量回写饿死读 IO。该特性需通过 FUSE_SEPARATE_BACKGROUND 特性位开启。(PR#3532)

[Feature] 支持 max_write 对齐,这对某些后端有很大性能提升。(PR#3533)

block

[Bugfix] 社区 stable 补丁回合(PR#3471/PR#3597)

[Bugfix] 修复 mq-deadline 调度器在多硬件队列设备上发生的 IO hang(PR#3542)

[Bugfix] 修复更新 block 限流配置时,可能因计算 bps 限流时出现负值导致限流不符合预期问题(PR#3654)

misc

[Bugfix] virtio-blk 模块社区 stable 补丁回合。(PR#3479)

[Bugfix] kernfs、procfs、debugfs 等模块社区 stable 补丁回合。(PR#3475/PR#3545/PR#3614)

[Bugfix] device mapper 即 dm 模块社区 stable 补丁回合。(PR#3514)

[Bugfix] multiple device 即 md 模块社区 stable 补丁回合。(PR#3515/PR#3585/PR#3583)

[Bugfix] nfs 模块社区 stable 补丁回合。(PR#3519/PR#3538/PR#3540/PR#3547)

[Bugfix] cifs 模块社区 stable 补丁回合。(PR#3536/PR#3621/PR#3625/PR#3642/PR#3678)

[Bugfix] ntfs 模块社区 stable 补丁回合。(PR#3537/PR#3613)

[Bugfix] loop 模块社区 stable 补丁回合。(PR#3543)

[Bugfix] null_blk 模块社区 stable 补丁回合。(PR#3544)

[Bugfix] vfs 社区 stable 补丁回合。(PR#3572/PR#3573/PR#3574/PR#3575/PR#3576/PR#3579/PR#3580/PR#3604/PR#3679)

[Bugfix] overlayfs 模块社区 stable 补丁回合。(PR#3581)

[Bugfix] quota 模块社区 stable 补丁回合。(PR#3590)

[Bugfix] dax 模块社区 stable 补丁回合。(PR#3599)

[Bugfix] ceph 模块社区 stable 补丁回合。(PR#3632/PR#3677)

[Bugfix] nbd 模块社区 stable 补丁回合。(PR#3659)

2、dsms

[Bugfix] 修复 ceph-deploy 工具在 bucket disable 后重新部署不会 enable 的 bug。

[Release] dsms 新版本将确定选择 ceph16 作为 dsms-storage 的基线,适配工作基本完成,且基本功能测试正常。

[Proposal] ceph 和 rbd 模块社区补丁回合,将通过 dsms 项目例行跟踪维护。

更多详细进展,请参见项目主页:Dsms: 分布式存储管理系统 DSMS (Distributed Storage Management System)是一个分布式存储系统管理平台。该软件实现可视化的存储集群管理,提升分布式存储软件的易用性。

3、mdadm & ledmon

[Release] mdadm & ledmon 确定将直接使用上游的 tag 作为 release 版本,与其他发行版保持一致。对于重要的 bugfix,再采用从主线 cherry-pick 的方式。

[Proposal] multiple device 即 dm 模块社区补丁回合,将通过 mdadm 项目例行跟踪维护。

相关链接:

高性能存储 SIG 主页:High Performance Storage SIG - OpenAnolis龙蜥操作系统开源社区

注:更多龙蜥 SIG 月度动态可点击这里查看。

高性能存储 SIG(Special Interest Group)致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。高性能存储 SIG 期望通过社区合作,打造标准的高性能存储技术软件栈,推动软硬件协同发展。

更多龙蜥SIG主页点击查看:SIG - OpenAnolis龙蜥操作系统开源社区

Logo

欢迎加入龙蜥社区,参与开源活动即刻有好礼相送!

更多推荐