论坛风格切换
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
购买邀请后未收到邀请联系sdbeta@qq.com
  • 56阅读
  • 1回复

[业界新闻]Linux 6.13中的exFAT驱动程序减少了FAT链遍历 从而提高了性能 [复制链接]

上一主题 下一主题
 

发帖
7651
今日发帖
最后登录
2025-02-24
只看楼主 倒序阅读 使用道具 楼主  发表于: 2024-11-28 09:59:52
  对于在Linux系统中使用微软exFAT文件系统的用户,即将发布的Linux 6.13内核带来了一项优化,通过减少FAT链的遍历次数来帮助某些操作。在大多数情况下,Linux 6.13中的exFAT更新并不让人感到兴奋,这次除外。 BYo/57&:  
^+m+zd_  
  根据周三晚上的拉取请求: O=dJi9;`#_  
" $ew~;z  
  -如果流条目起始集群无效,则将其作为空目录处理。 Eyh51IB.  
;XDz)`c  
  -蒸汽条目的有效大小不能大于数据大小。 k!KDWb  
~2zM kVH  
  如果valid_size无效,则使用data_size处理。 r@o6voX  
a /:@"&Y  
  -将Direct-IO对齐检查移至扩展有效大小之前。 { vN}<f`  
\#>T~.Y7K  
  -修复syzbot报告的uninit-value问题。 ]wWPXx[>/  
9Y<#=C  
  -优化在write_inode、rename、unlink中查找目录条目集。 j* *s^Sg  
=07]z@s  
  最后一项很有趣的工作是优化写入inode、重命名和取消链接操作中的查找目录入口集。 @mBX~ ?=Z3  
a+9 *@z2  
  这项工作最终归结为莫跃章为减少FAT链遍历而打的一组补丁。开发者Yuezhang Mo在该补丁系列中解释道: h#hxOVl%x  
~(@ E`s&{  
  "在本次commit之前,exfat_inode_info的->dir和->entry记录了父目录的第一个簇,以及从该簇开始的目录条目索引。 s#S%#LM  
rX;Ys2vQ*  
  目录条目集将在write-back-inode/rmdir/unlink/rename时获取。如果父目录的簇不连续,则将从父目录的第一个簇开始遍历FAT链,以找到->entry所在的簇。 %c1#lEC2xN  
)|I5j];L  
  在此提交后,->dir将记录目录条目集中第一个目录条目所在的簇,而->entry将记录簇中的目录条目索引,因此在获取目录条目集时几乎无需访问FAT。" \xUe/=  
80$fG8  
  这应该是一项值得的优化,但补丁中没有提供任何数字来量化重命名或删除文件/文件夹时避免FAT链遍历对性能的影响。无论如何,Linux的exFAT支持仍在继续推进。 _"%B7FK  
离线lenneth

发帖
1058
今日发帖
最后登录
2025-02-23
只看该作者 沙发  发表于: 2024-11-29 08:56:08
Linux 6.13中的exFAT驱动程序优化性能,通过减少FAT链遍历,提供更高效的文件访问体验。