正文内容 评论(0)

进度条说复制完了 U盘其实还在写!这个15年bug终于修了
2026-10-28 11:23:32  出处:快科技 作者:红茶 编辑:红茶     评论(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人

  • 反对

  • 打赏

文章价值打分

当前文章打分0 分,共有0人打分
  • 分享好友:
  • |
本文收录在
#U盘#Bug#电脑Bug

  • 热门文章
  • 换一波

  • 好物推荐
  • 换一波

  • 关注我们

  • 微博

    微博:快科技官方

    快科技官方微博
  • 今日头条

    今日头条:快科技

    带来硬件软件、手机数码最快资讯!
  • 抖音

    抖音:kkjcn

    科技快讯、手机开箱、产品体验、应用推荐...