El controlador NTFS de Paragon Software sera incorporado en Linux 5.15
Hace pocos dias compartimos aquí en el blog la noticia sobre de que Linus Torvalds le pidió a Paragon Software que enviara el código para fusionar su nuevo controlador NTFS. En ese entonces se tenía pensando que el controlador podría agregarse en Linux 5.14-rc2, lo cual no sucedió, pero si estará siendo integrado en la versión de Linux 5.15
Y es que durante la discusión en la edición número 27 del conjunto de parches, fue recientemente publicada la implementación del sistema de archivos NTFS de Paragon Software y a la cual básicamente Linus Torvalds le dio luz verde para ser implementada dentro de Linux, ya que dijo que «no ve obstáculos para recibir este conjunto de parches en la siguiente ventana para aceptar cambios. A menos que se identifiquen problemas imprevistos, la compatibilidad con NTFS de Paragon Software se incluirá en el kernel 5.15, que se espera que se lance en noviembre.»
Durante el tiempo que queda hasta que los parches sean aceptados en el kernel, Linus recomendó volver a verificar la exactitud de la firma en los parches confirmando la autoría del código transferido y la preparación de su distribución como parte del kernel bajo un código abierto. También se recomendó que Paragon Software una vez más se asegure de que el departamento legal comprenda todas las consecuencias de transferir código bajo la licencia GPLv2 y comprenda la esencia de esta licencia copyleft.
El código para el nuevo controlador NTFS fue publicado por Paragon Software en agosto del año pasado y difiere del que ya está en el kernel del controlador por la capacidad de trabajar en modo de escritura, pues el controlador anterior no se ha actualizado durante muchos años y se encuentra en un estado deplorable.
Planeamos admitir esta versión después de que el código base una vez se haya fusionado y agregar nuevos
características y corregir errores. Por ejemplo, el soporte completo de registro en diario sobre JBD será
agregado en actualizaciones posteriores.
Y es que anteriormente, para tener acceso completo a las particiones NTFS desde Linux, tenía que usar el controlador FUSE NTFS-3g, que se ejecuta en el espacio del usuario y no proporciona el rendimiento deseado. Este controlador no se ha actualizado desde 2017, al igual que el controlador fs/ntfs de solo lectura. Ambos controladores fueron creados por Tuxera, que, al igual que Paragon Software, proporciona un controlador NTFS propietario disponible comercialmente.
En cuanto al nuevo controlador que se piensa implementar en el Kernel, este se destaca por admitir todas las características de la versión actual de NTFS 3.1, incluidos los atributos de archivo extendidos, el modo de compresión de datos, el trabajo eficiente con vacíos en los archivos y la reproducción de cambios del registro para restaurar la integridad después de fallas.
El controlador se basa en la base de código de producto comercial existente de Paragon Software y está bien probado. Los parches están diseñados de acuerdo con los requisitos para preparar código para Linux y no contienen enlaces a API adicionales, lo que permite que el nuevo controlador se incluya en la composición principal del kernel. Una vez que los parches se incluyen en la parte principal del kernel de Linux, Paragon Software tiene la intención de proporcionar mantenimiento, corrección de errores y mejoras de funcionalidad.
En la revisión del parche 27, Paragon Software adaptó el controlador para los cambios en la API iov reemplazando la llamada iov_iter_copy_from_user_atomic() con copy_page_from_iter_atomic() y discontinuando la función iov_iter_advance().
De las recomendaciones hechas en la discusión, solo queda la traducción del código para usar fs/iomap, pero este no es un requisito obligatorio, sino solo una recomendación que se puede implementar después de la inclusión en el kernel. Además, Paragon Software ha confirmado que está listo para acompañar el código propuesto en el kernel y planea mover la implementación del diario para que funcione sobre el JBD (dispositivo de bloque de diario) existente en el kernel, sobre la base del cual el diario en ext3, ext4 y OCFS2 están organizados.
Finalmente, para quienes estén interesados en poder conocer más al respecto, pueden consultar los detalles en el siguiente enlace.