SIG 整体进展
1.本月合入 Anolis 主线 PR 共计 30 个,包含多个重要组件的特性支持,性能优化和 bugfix 等。
2.增强 fuse 特性,如支持 close-to-open 缓存一致性,支持 daemon failover,增强统计和 debug 等,以更好地用于后端分布式文件系统的接入。
3.io_uring nvme passthrough 特性正式合入 ANCK 5.10 主线,将持续跟踪优化。
4.DSMS 完成 Anolis OS 23 构建打包并发布预览版,用户可在 Anolis OS 23 中通过 yum 安装体验。
02
项目具体进展
1)Anolis OS
CVE:CVE-2022-33742(PR1676),CVE-2023-2985(PR1776/PR1777),CVE-2023-26607(PR1778/PR1779)
erofs:支持 erofs + virtiofs + dax 模式(PR1747)
io_uring:支持 cqe32(PR1684),支持 nvme passthrough(PR1681), fio 配套支持 nvme passthrough(PR8/PR9),liburing 配套支持(PR10/PR11)
ext4:回退 ext4: fix bad checksum after online resize(PR1704),修复 ext4 bigalloc 多个问题(PR1669)
xfs:修复 xfs/512 失败问题(PR1822),修复 generic/571 失败问题(PR1824)
fuse:特性增强,如支持 cto 语义,支持 failover,增强统计和 debug 等(PR1570/PR1670),修复 fuse_update_stats() 引入的 array-index-out-of-bounds 问题(PR1788/PR1790)
overlayfs:修复 overlay/077 失败问题(PR1774),修复特定场景 copy up 报权限不足的问题(PR1801/PR1802),修复 generic/591 失败问题(PR1823)
block:优化 iops 限流特性(PR1696),支持细粒度的 PR 权限(PR1743),修复 virtio-blk discard 问题(PR1794/PR1798)
nfs:修复 nfs-server crash 问题(PR1591),修复 __nfs42_ssc_open() UAF 问题(PR1780)
2)fuse 增强
在 sysfs 下增加调试接口,输出打印特定 fuse 文件系统下所有已经发送给用户态 daemon 等待处理的请求。
在 sysfs 下增加数据统计接口,统计输出特定 fuse 文件系统下各类型请求的数量以及处理耗时。
-
用户态 daemon 可以通知 fuse client 使一个目录下的所有目录项无效(invalidate all direct dentry)。 -
实现 cto (close-to-open)缓存一致性模型,包括数据和元数据的 flush-on-close 和 invalidate-on-open 语义。 增强 fuse 故障恢复(failover)模式下的缓存一致性模型。
3)容器镜像
重构 erofs xattr 实现,以支持后续的增强特性,目前已经合入社区上游,计划在 Linux v6.5 中发布。
开发 erofs xattr name bloom filter 特性,以加速 negative xattr lookup 的性能,shared xattr 镜像执行“ls -lR”负载下可优化 ~20% 性能,目前仍在迭代中。
4)io_uring
-
NVME_URING_CMD_ADMIN -
NVME_URING_CMD_ADMIN_VEC -
NVME_URING_CMD_IO -
NVME_URING_CMD_IO_VEC
对应的返回值存放在 cqe32 扩展的域中。该特性的优势在于,用户态可借助 ioctl 和 io_uring_cmd,直接与 nvme 驱动打交道,绕过 block 层的处理逻辑,从而提升性能。目前用户态 fio 工具和 liburing 库已同步配套支持。
-
下发大于设备支持的最大 IO 时会返回失败,与上游社区沟通确认,由于是直接与设备驱动打交道,需要应用做好处理,属于设计约束。 iostat 统计不到相关数据,待进一步跟踪分析。
5)DSMS
截止目前,dsms 的一期开发工作全部完成,并完成 Anolis OS 23 的构建打包和包引入申请,已随 Anolis OS 23 发布预览版。
欢迎用户安装体验,相关问题可以通过 gitee 仓库(https://gitee.com/anolis/dsms)或 bugzilla 反馈。
dsms-storage 子仓库目前遗留一些社区提出的 cve 漏洞待修复。
1.erofs xattr name bloom filter 及 deflate 压缩特性合入社区主线,预计在 Linux v6.6 发布。
2.开发 erofs-utils 的 tarfs merge 功能,以支持 erofs 通过 tarfs 模式直接挂载 OCI 容器镜像。
3.跟踪解决 nvme passthrough 模式下 iostat 失效问题,以及引入 fixed buffer 等优化。
4.dsms-storage cve 漏洞修复和用户反馈问题跟踪。
相关链接:
—— 完 ——
加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。
关于龙蜥
龙蜥社区是立足云计算打造面向国际的 Linux 服务器操作系统开源根社区及创新平台。龙蜥操作系统(Anolis OS)是龙蜥社区推出的 Linux 发行版,拥有三大核心能力:提效降本、更加稳定、更加安全。
加入我们,一起打造面向云时代的操作系统!
往期精彩推荐

本文分享自微信公众号 - OpenAnolis龙蜥(OpenAnolis)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。