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

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

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

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

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

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

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

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

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

展开阅读全文

更新时间:2026-10-29

标签:科技   数据   开发者   文件   闪存盘   慢速   缓存   卡尔   窗口   时刻   速度

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight All Rights Reserved.
Powered By 61893.com 闽ICP备11008920号
闽公网安备35020302034844号

Top