欢迎大家来到IT世界,在知识的湖畔探索吧!
对于在 Linux 系统中使用微软 exFAT 文件系统的用户,即将发布的 Linux 6.13 内核带来了一项优化,通过减少 FAT 链的遍历次数来帮助某些操作。在大多数情况下,Linux 6.13 中的 exFAT 更新并不让人感到兴奋,这次除外。
根据周三晚上的拉取请求:
– 如果流条目起始集群无效,则将其作为空目录处理。
– 蒸汽条目的有效大小不能大于数据大小。
如果 valid_size 无效,则使用 data_size 处理。
– 将 Direct-IO 对齐检查移至扩展有效大小之前。
– 修复 syzbot 报告的 uninit-value 问题。
– 优化在 write_inode、rename、unlink 中查找目录条目集。
最后一项很有趣的工作是优化写入 inode、重命名和取消链接操作中的查找目录入口集。
这项工作最终归结为莫跃章为减少 FAT 链遍历而打的一组补丁。开发者Yuezhang Mo在该补丁系列中解释道:
“在本次commit之前,exfat_inode_info的->dir和->entry记录了父目录的第一个簇,以及从该簇开始的目录条目索引。
目录条目集将在 write-back-inode/rmdir/ unlink/rename 时获取。 如果父目录的簇不连续,则将从父目录的第一个簇开始遍历 FAT 链,以找到 ->entry 所在的簇。
在此提交后,->dir 将记录目录条目集中第一个目录条目所在的簇,而 ->entry 将记录簇中的目录条目索引,因此在获取目录条目集时几乎无需访问 FAT。”
这应该是一项值得的优化,但补丁中没有提供任何数字来量化重命名或删除文件/文件夹时避免 FAT 链遍历对性能的影响。无论如何,Linux 的 exFAT 支持仍在继续推进。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/96438.html