Kernel NTFS driver vs NTFS-3G

18

Una pregunta formulada más completa ya que perdí el acceso a la otra.

Solicitaría que se elimine el otro, no este, ya que no debería haberse migrado en primer lugar.

Actualmente hay dos controladores NTFS disponibles para Linux.

El controlador NTFS incluido en el kernel y el controlador NTFS-3G del espacio de usuario que hace uso de FUSE.

Por todas las cuentas, NTFS-3G funciona perfectamente.

Mi pregunta, entonces, es si el sistema de archivos NTFS se realizó con ingeniería inversa con éxito, ¿por qué el equipo NTFS del núcleo no implementó los cambios en su controlador? Por el momento, todavía está marcado como experimental, y existe una buena posibilidad de que destruya sus datos.

Nota: Esto no tiene absolutamente nada que ver con las distribuciones ...

Jack
fuente

Respuestas:

24

Lamentablemente, este es un problema común con los proyectos comunitarios.

Una vez que la comunidad identifica un problema importante, aparecen proyectos emergentes para abordarlo. En este caso, el problema es la utilización de NTFS FS.

Linux-NTFS (kernel FS driver), fue creado primero, y después de un tiempo el desarrollo se detuvo. OMI, una mala elección, merecía prioridad y todavía lo hace. Este controlador ha sido estable, solo lectura, durante el tiempo que he hecho Linux (más de media década). Esto solo resuelve la mitad del problema, por lo que la comunidad buscó en cualquier lugar que pudiera.

El cautivo NTFS (Driver Wrapper for NTFS.SYS) fue comparablemente más fácil de crear. Tanto código ya existía en otros proyectos. La razón principal por la que la comunidad miró fue porque NTFS.SYS no es software libre.

NTFS-3G (Fusible), se unió y es completamente funcional. El proyecto tiene la fuerza comercial impulsora de Tuxera. Este proyecto aborda el problema original de utilizar NTFS desde Linux. Tuxera ofrece un controlador de núcleo NTFS patentado premium, que destaca por qué la comunidad necesita completar Linux-NTFS.

Entonces, con el problema original abordado, la protesta de la comunidad se calmó. Lo cual puede ser lamentable, ya que muchas veces la implementación correcta nunca se completa. Cuando lo pienso, Tuxera en realidad protegió su implementación NTFS de kernel patentada. Al crear un controlador FUSE inferior, se enfrió el impulso para un controlador de núcleo GPL sólido.

Ahora solo para aclarar, soy un gran entusiasta / entusiasta de proyectos comunitarios. Simplemente también soy un crítico, sin capacidad de programación del núcleo. FUSE tiene muchos méritos, especialmente para los conductores FS especiales. Los hechos fríos y firmes siguen en pie, los controladores Kernel FS proporcionan un rendimiento mucho más fuerte. Escribir controladores de kernel requiere mucho más tiempo / talento, luego una implementación FUSE comparable. Los dos (Tiempo de programadores comunitarios talentosos) siempre han sido escasos.

Espero que esto explique la situación actual, con respecto al soporte de Linux NTFS.

JM Becker
fuente
1

Es una cuestión de prioridad. Elegir hacer una cosa significa que no se hará otra. ntfd-3g funciona bien, por lo que tocar el controlador del núcleo es de muy baja prioridad.

Ignacio Vazquez-Abrams
fuente
2
Excepto que están escritos por proyectos completamente separados, y seguramente es importante que el núcleo tenga un controlador que realmente funcione.
Jack
El hecho de que sean proyectos separados es irrelevante. De hecho, eso empeora, ya que necesita encontrar a alguien que tenga tanto conocimiento del módulo del sistema de archivos del núcleo como NTFS para poder escribir el controlador del núcleo.
Ignacio Vazquez-Abrams
1
No, no es irrelevante. Por el momento, el núcleo no tiene soporte de escritura NTFS, cuando es claramente posible. En cambio, se necesita una solución de terceros. Su respuesta es similar a decir por qué molestarse en desarrollar Gnome, cuando KDE hace el trabajo bien. ¿No es cierto toda una analogía adecuada, ya que tanto GNOME y KDE son completamente funcionales, pero usted consigue el punto ...
Jack
3
Te estás perdiendo el punto. Hay muchas ventajas de tener un controlador NTFS en funcionamiento en el núcleo, sin tener que depender de un controlador de espacio de usuario de terceros. En cualquier caso, la respuesta a mi pregunta no es "porque ntfs-3g funciona muy bien". Si tiene el Proyecto X y el Proyecto Y, los cuales tienen el mismo objetivo común y el Proyecto Y obtiene el primero, el Proyecto X no se dará por vencido. De hecho, vemos lo contrario con demasiada frecuencia.
Jack
1
What would a kernel driver do that a FUSE driver wouldn't?: Libere la CPU para otros procesos en sistemas embebidos al no vincularla al 100% . Ver Ubuntu , Mageia , Ubuntu , ArchLinux , openSUSE , etc.
Amit Naidu
1

Hoy me hice esta pregunta, en realidad. Aquí está mi comprensión realmente nebulosa y no experta.

ntfs3g no es realmente un controlador, es una aplicación. utiliza FUSE (sistema de archivos en el espacio de usuario) para una interfaz y es multiplataforma. entonces, si bien el controlador ntfs del kernel posiblemente podría implementar los métodos utilizados por ntfs3g (¿podrían? No estoy seguro), estaría operando en el espacio de usuario, que no es la jurisdicción del kernel.

... eso fue literalmente solo una conclusión basada en una oración que leí. ¿Cómo le suena eso a cualquiera que esté realmente educado en el tema? =)

de hecho, creo que voy a bloguear sobre esto un poco. = D

musasabi
fuente
Sí, la versión ntfs-3g es tan lenta en comparación con la ntfs.sys nativa en Windows.
user2284570