Linux 7.2 da marcha atrás y recupera más de 600 líneas de código tras descubrir que eliminarlas podía acabar en pérdida de datos

Linux 7.2 da marcha atrás y recupera más de 600 líneas de código
Linux 7.2 da marcha atrás y recupera más de 600 líneas de códigoGenerada con IA
Noticia
Añádenos en Google

Elígenos como tu fuente preferida en Google.

El equipo de Btrfs ha recuperado código que había sido eliminado durante la preparación de Linux 7.2 después de descubrir que podía eliminar datos sin que te dieses cuenta.

Linux 7.2 todavía no ha llegado a su versión final (que se prevé para mediados o finales de agosto), pero ya ha tenido que corregir un problema importante antes de su lanzamiento. El equipo encargado de Btrfs, uno de los sistemas de archivos más famosos del kernel de Linux, ha recuperado más de 600 líneas de código que se habían borrado. Sin ellas, algunos datos podían llegar a perderse sin que el usuario se diera cuenta.

Para que te hagas una idea, el problema está relacionado con una función de Btrfs encargada de detectar cambios que se hacen en la memoria antes de que el sistema de archivos pueda controlarlos correctamente. 

Durante el desarrollo de Linux 7.2 se pensó que esa protección ya no hacía falta porque los cambios que se hacían en la gestión de memoria del kernel habían solucionado las situaciones que la hacían necesaria. Pero las pruebas que se han hecho ahora han demostrado que no era así.

Por eso, el desarrollador de SUSE David Sterba ha enviado una nueva actualización al kernel para recuperar esta parte del código. La petición ya ha sido aceptada por Linus Torvalds y el código restaurado ya está dentro del repositorio de Linux. La idea es que llegue a Linux 7.2-rc7 y, posteriormente, a la versión estable de Linux 7.2.

¿Por qué Linux 7.2 ha recuperado este código y qué tiene que ver Btrfs?

Hablamos concretamente de un sistema de archivos creado para Linux que incluye funciones como copias de seguridad internas, comprobación de datos y el sistema Copy-on-Write. De forma sencilla, COW permite que Linux no sobrescriba directamente algunos datos cuando necesita modificarlos, sino que escriba una nueva copia y mantenga la anterior.

El código que se había eliminado servía para detectar páginas de memoria que aparecían como modificadas sin que Btrfs tuviera constancia de ese cambio. 

Cuando eso sucede, el sistema de archivos necesita hacer una corrección para mantener los datos en el lugar correcto. Si no lo hace, existe el riesgo de que el contenido que debería guardarse no termine escrito correctamente en el almacenamiento.

Y aquí está el problema que ha obligado a dar marcha atrás: todo esto  puede dar pie a una pérdida sin que siquiera te enteres de datos. Lo peligroso aquí es que el usuario podría seguir trabajando con normalidad mientras algunos datos no sabe que no se han guardado como deberían.

David Sterba comenta que todas esas líneas de código dan marcha atrás a todo el proceso que se había estropeado y que, al menos en un principio, todo debería funcionar con normalidad.

Eso sí, matizar que, de esas 600 líneas de código borradas, no todas forman parte de esta solución una vez que se han recuperado. Sterba explica que, más o menos, la mitad corresponde a código de soporte y depuración, mientras que el resto contiene la parte central del sistema que permite detectar el problema y solucionarlo.

¿Cuándo llegará este nuevo cambio a Linux 7.2?

La corrección ya ha entrado en el código de desarrollo de Linux y está prevista para Linux 7.2-rc7, una de las últimas versiones de prueba antes del lanzamiento definitivo.

La buena noticia, tal y como ya ha comentado el propio Linus Torvalds, es que, al menos por el momento, el desarrollo sigue su curso y lo más probable es que la versión final esté lista tras la séptima versión candidata (rc7), sin tener que extender el proceso con una octava entrega.

Por último, comentar que no todos los usuarios van a recibir esta versión el mismo día. Las distribuciones basadas en el modelo de actualización continua (rolling release), como es el caso de Arch Linux o Manjaro, serán las primeras en tener disponible la versión 7.2 en sus repositorios a los pocos días de su salida.

Por otro lado, distribuciones como Debian o la versión LTS de Ubuntu tardarán más tiempo en hacerla aterrizar.

Ver sus artículos

Carolina González

Redactora

Carolina González, redactora de actualidad, reportajes a fondo, análisis de todo tipo de productos y vídeos para el canal de Youtube.