KDE corrige bug de 15 años en la copia de archivos a USB

Fuentes: KDE fixes 15-year-old bug in KIO file copying to USB and networks

El equipo de desarrollo de KDE ha resuelto un defecto crítico en el sistema de archivos KIO que afectaba a la copia de archivos a dispositivos USB y sistemas de archivos de red. Este fallo, reportado por primera vez en septiembre de 2011 contra la versión 4.7 de KDE, persistía durante quince años y provocaba que la barra de progreso y el estado de finalización mostraran datos incorrectos, reflejando la velocidad de la caché en memoria en lugar del rendimiento real del dispositivo de destino. El problema era particularmente grave en dispositivos USB lentos, donde el sistema consideraba la copia terminada antes de que los datos estuvieran realmente escritos en el disco, y en sistemas de red como NFS o SMB, donde la latencia de la red hacía que la barra de progreso se desvinculara de la realidad física.

La solución, integrada en KDE Frameworks 6.32, se basa en el uso de la función sync_file_range() del kernel de Linux, que permite esperar a que se escriba una parte específica del archivo sin bloquear el resto del proceso. Los desarrolladores implementaron cuatro solicitudes de fusión (merge requests) para detectar dispositivos removibles, limpiar la caché al final de la operación y añadir una ventana de escritura (writeback window) que adapta el tamaño de los datos en memoria según la velocidad del enlace. Además, se optimizaron las consultas a la tabla de montajes para evitar redondeos lentos a servidores remotos, reduciendo el tiempo de espera de más de 15 segundos a aproximadamente 1 milisegundo. Esta corrección asegura que el progreso de la copia sea monótono y preciso, evitando la pérdida de datos al extraer dispositivos mientras aún se escriben archivos en la caché.