进度条说复制完了 U盘其实还在写!这个15年bug终于修了

进度条说复制完了 U盘其实还在写!这个15年bug终于修了

2026-10-28 11:37:36 0点赞 0收藏 0评论

快科技10月28日消息,KDE开发者梅文·卡尔在KDE官方博客披露,一个存在15年、被其称为KIO最严重缺陷的bug已正式修复,将随2026年11月13日发布的KDE Frameworks 6.32推送。

问题最早于2011年9月提交,编号281270。KDE向USB闪存盘复制文件时,进度条与完成通知反映的只是数据写入本地缓存的速度,而非真正写入可移动存储的时刻。

进度条说复制完了 U盘其实还在写!这个15年bug终于修了

报告者当时发现,向理论极限12Mbit/s的USB 1.1设备复制文件,通知竟显示约50MB/s。

进度条说复制完了 U盘其实还在写!这个15年bug终于修了

后果比数字错误更严重。在一个写入速度约2.3MB/s的USB 2.0盘上复制128MiB文件,Dolphin会提前一分多钟判定复制完成;若用户在这个窗口内拔出U盘,数据直接丢失。

技术根源在于KIO的文件worker通过write()调用写入数据,只要数据进入内存页缓存,write()就会返回,内核随后择机写入设备。

本地SSD上这个延迟几乎不可感知,但在慢速USB盘或网络文件系统上,进度条严重超前于真实写入进度。

修复并非一蹴而就。早在2011年9月,就有开发者提出使用sync_file_range()获知真实写入时刻,但后续实现多次出错。

2021年该bug被提升至最高优先级,2024年开发者两次尝试仍未正确调用。最终通过四个KIO合并请求,引入自适应回写窗口,才让完成对话框如实反映数据落盘状态。

进度条说复制完了 U盘其实还在写!这个15年bug终于修了

编辑:红茶

【本文结束】如需转载请务必注明出处:快科技

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
京东京享红包
距结束::
领京东现金红包 天天领3次 最高26888元
红包按钮
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松