LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Algunos parches para Linux 6.15-rc4 (que actualizan el controlador del kernel para el sistema de archivos Bcachefs) dieron lugar a una serie de consejos directos de Linus Torvalds sobre los sistemas de archivos que no distinguen entre mayúsculas y minúsculas, según informa Phoronix.
Kent Overstreet, desarrollador de Bcachefs, inició la conversación, explicando cómo hace casi dos años se incorporaron al controlador del kernel de Bcachefs algunos parches con errores para la compatibilidad con archivos y carpetas que no distinguen entre mayúsculas y minúsculas. Cuando hablaba con el desarrollador que realizó la implementación, comenté que fstests ya debería tener pruebas. Sin embargo, parece que olvidé decirle que se asegurara de que las pruebas se ejecutaran... No basta con confiar en las pruebas automatizadas. Hay que estar atento a lo que hace el código. Overstreet añadió: «Hay una historia detrás de las correcciones de directorios que no distinguen entre mayúsculas y minúsculas, y lecciones que aprender». A lo que Torvalds respondió: «No».
«La única lección que aprender es que la gente de los sistemas de archivos nunca aprende».
Torvalds: Los nombres que no distinguen entre mayúsculas y minúsculas son un error terrible, y no deberías haberlos hecho. El problema no fue la falta de pruebas, sino la implementación inicial. El problema se agrava al intentar hacerlo bien y, en el proceso, hacerlo terriblemente mal, porque "correcto" no existe, pero intentarlo hará que bytes aleatorios tengan un significado mágico.
Y, por cierto, las pruebas están completamente rotas. La última vez que vi, no probaron todos los casos realmente interesantes, los que causan problemas de seguridad en el espacio de usuario. Problemas de seguridad como "el espacio de usuario comprobó que el nombre de archivo no coincidía con un patrón sensible a la seguridad". Y luego, el sistema de archivos, un desastre, termina coincidiendo con ese patrón *de todas formas*, porque quienes no distinguen entre mayúsculas y minúsculas *INVARIABLEMENTE* hacen cosas como ignorar caracteres no imprimibles, así que ahora "sin distinción entre mayúsculas y minúsculas" también significa "sin distinción entre otras cosas"...
Maldita sea. La distinción entre mayúsculas y minúsculas es un ERROR. No entiendo que la gente de los sistemas de archivos *siga* creyendo que es una característica. Es como si veneraran tanto el antiguo sistema de archivos FAT que tuvieran que recrearlo, y mucho. Esto dio lugar a un debate muy animado.
Resumen de los aspectos más destacados en Slashdot :
Overstreet respondió que existe una "necesidad establecida" de directorios que no distingan entre mayúsculas y minúsculas. ("Así que no quiero quejas sobre lo 'malos' que son. Quiero que funcionen, y quiero que el código sea limpio y fácil de mantener, y que no me haga sangrar los ojos cuando tenga que depurarlo").
Torvalds respondió, explicando por qué se particionó el código:
Si los expertos en sistemas de archivos se dieran cuenta y tuvieran una insensibilidad a mayúsculas y minúsculas adecuada y bien diseñada, eso podría cambiar. Pero nunca he visto ni rastro de eso. Solo he visto código defectuoso que no entiende ni cómo funciona UTF-8 ni cómo funciona Unicode (o mejor dicho: cómo Unicode *no* funciona: código que usa las funciones de comparación de Unicode sin una comprensión más profunda de sus implicaciones)...
Overstreet respondió: Como no dices nada sobre cómo crees que los sistemas de archivos se equivocan en esto, esto es solo palabrería. No he visto nada que parezca incorrecto sobre cómo se gestiona la insensibilidad a mayúsculas y minúsculas. Y, sinceramente, no creo que las "preocupaciones" de seguridad sean reales, ya que estamos dejando de usar directorios compartidos por diferentes usuarios (/tmp), porque eso ya ha causado muchísimos problemas...
Torvalds: El problema es que no se puede hacer que la búsqueda sin distinción entre mayúsculas y minúsculas sea la más rápida...
Overstreet: Eso es precisamente lo que hace el código de caché de datos, y es la fuente de los problemas...
Torvalds: Creo que estás confundido y no sabes de qué hablas. Será mejor que aprendas cómo funciona realmente el caché de datos.
Overstreet: No, lo que escribí es exactamente cómo funcionan las búsquedas de CI con el caché de datos. Échale un vistazo.
Torvalds: Kent, yo escribí la mayor parte de ese código, y tú afirmas que el caso de CI intenta ser el más rápido...
Overstreet: El tema son las búsquedas de CI, y me comería el zapato si escribieras eso... ¿Estás siendo obtuso a propósito? Digo que el caso de CI es una combinación de sobreoptimización y mal diseño. No digo que intente ser la vía rápida en cuanto a búsquedas que distinguen entre mayúsculas y minúsculas, eso sería una locura.
Torvalds: ¡A comer! Ese código asqueroso con d_compare y d_hash es de hace mucho tiempo. A simple vista, es del 97 y se fusionó en la versión 2.1.50... Si te salen alias dentry, puede que estés haciendo algo mal.
Overstreet: Sí, Al me acaba de señalar generic_set_sb_d_ops()... ¿Y nunca te diste cuenta de que mis quejas sobre los bits de dcache no tenían sentido y que cómo dije que debería funcionar era como realmente funciona? Je.
Torvalds: Qué forma tan graciosa de decir: "Oh, Linus, tenías razón desde el principio cuando me retaste por mis tonterías"...

-
Office-Software
- Mis 6 aplicaciones Linux imprescindibles para la productividad y por qué facilitan el trabajo
- LibreOffice celebra su 40º aniversario con una renovación basada en navegador
- 10 aplicaciones de Linux que instalo en cada máquina nueva (y por qué tú también deberías hacerlo)
- Novedades prenavideñas: descubre la nueva funcionalidad de IA en ONLYOFFICE
- Disponible ONLYOFFICE DocSpace 3.0, con OAuth 2.0, salas de datos virtuales, y versión para desarrolladores
- ONLYOFFICE Docs 8.1: editor de PDF avanzado, patrón de diapositivas, RTL mejorado, colaboración mejorada en hojas de cálculo y más
- Cómo crear una plataforma de eLearning con Moodle y ONLYOFFICE
- Los 6 mejores software de gestión veterinaria gratuitos y de código abierto
- 5 aplicaciones de productividad de Linux de las que dependo todos los días y cómo instalarlas desde Snap
- ¿Qué es la función de firma digital de LibreOffice y cómo se utiliza?
- LibreOffice 7.5.5 Suite de Office de código abierto lanzada con 70 correcciones de errores
- El Gobierno de la C. Valenciana completa su migración a LibreOffice, ahorrando 1,5 millones de euros anualmente
- LibreOffice 4.0 integrará nuevas mejoras
- El proyecto Open Office goza de excelente salud
- Apache OpenOffice 3.4.0 ya está disponible