KDE Fixes 15 Year Old Bug Over Inaccurate Notifications When Copying Files To USB Drives Written by Michael Larabel in KDE on 27 October 2026 at 12:50 PM EDT. Add A Comment A long-standing KDE bug is set to be resolved with next month's KDE Frameworks 6.32 release. Opened up in 2011 was this bug report around inaccurate notifications on the KDE desktop when copying files to a removable USB flash drive.

The completion progress and complete notification only reflect copying to the local cache and not when the data is actually written out to the removable storage. Thus the KDE desktop would imply a file or files are already copied to a USB flash drive when in fact they have not been necessarily written out yet. KDE developer Méven Car wrote an interesting KDE blog post today about this 15 year old bug report that saw 77+ comments and 17+ duplicate bug reports.

Even with the current KDE Plasma stable releases, there still are these notifications not actually accurate about reporting true file completion on successfully completing copies to removable storage. Coming up with a proper solution for accurately conveying when a file copy is completed to USB storage ended up being a very long and non-trivial process for KDE: "The right tool actually showed up very early. Two days after the report, Christoph Feck asked whether there was a way to learn when the data is really on the disk "without causing massive slow downs that any sync type calls would cause".

Two weeks later, the reporter passed on Alan Stern's answer, sync_file_range(), and Christoph replied that it looked like "exactly what we need". That was September 2011, and it is the call KIO now uses. Then not much happened for years, apart from users confirming it and seventeen duplicates.

In 2021, Nate Graham raised it to the highest priority, because a move deletes the source files while the copies are still in memory. In 2022, he changed the Disks & Devices applet, so that ejecting a device explains that it is still writing. In 2024, Christoph tested the cachestat() call of Linux 6.5, which reports how much of a file is still dirty in memory, but only for one file at a time.

This bug has been my white whale. I have been contributing to KIO since 2018, and I am still learning how the Linux storage stack behaves underneath it. I tried twice in 2024 and did not get sync_file_range() right.

In MR 1718, the sync_file_range() path stayed commented out. In KIO MR 1764 and Dolphin MR 862, the worker waited for the writeback of the chunk it had just written, which had not started, so it never waited at all. Waiting for the window before the one just written is what makes it work.

I didn't spot the issue, nor any reviewer unfortunately. Since then, another contributor proposed turning off the cache for copies, in MR 2162, which was closed." With KDE Frameworks 6.32, the completion dialog will now accurately reflect when the data is copied to the USB storage by making use of the sync_file_range() call. Those curious about this lengthy adventure for fixing this 15 year old bug report can find all the technical details on the KDE.org blog.

Add A Comment