Az Ext4 fájlrendszer Linux kernelje támogatja a kis- és nagybetűk megkülönböztetését

Ted Ts'o, az ext2/ext3/ext4 fájlrendszerek szerzője, elfogadott a Linux-next ágra, amely alapján a Linux 5.2-es kernel kiadása megalakul, egy halmaz változtatások, amely támogatja a kis- és nagybetűket nem megkülönböztető műveleteket az Ext4 fájlrendszerben. A javítások emellett támogatják az UTF-8 karaktereket is a fájlnevekben.

A kis- és nagybetűket nem érzékeny üzemmód opcionálisan engedélyezhető az egyes könyvtárak esetében az új „+F” attribútum használatával (EXT4_CASEFOLD_FL). Ha ez az attribútum be van állítva egy könyvtárban, akkor a fájlokkal és alkönyvtárakkal végzett összes művelet a karakterek kis- és nagybetűinek figyelembevétele nélkül kerül végrehajtásra, beleértve a kis- és nagybetűket is figyelmen kívül hagyja a fájlok keresése és megnyitása során (például a Test.txt fájlok, Az ilyen könyvtárakban található test.txt és test.TXT azonosnak minősül). Alapértelmezés szerint a „+F” attribútummal rendelkező könyvtárak kivételével a fájlrendszer továbbra is megkülönbözteti a kis- és nagybetűket. A kis- és nagybetűket nem érzékeny mód beillesztésének vezérléséhez a segédprogramok módosított készletét kínáljuk e2fsprogs.

A javításokat Gabriel Krisman Bertazi, a Collabora munkatársa készítette, és elfogadta hetedik utáni próbálkozások három év megjegyzések fejlesztése és megszüntetése. A megvalósítás nem módosítja a lemeztárolási formátumot, és kizárólag az ext4_lookup() függvény név-összehasonlítási logikájának módosítása, valamint a dcache (Directory Name Lookup Cache) struktúrában a hash cseréje szintjén működik. A "+F" attribútum értéke az egyes könyvtárak inode-jában tárolódik, és az összes alfájlba és alkönyvtárba továbbítódik. A kódolási információkat a szuperblokk tárolja.

A meglévő fájlok nevével való ütközések elkerülése érdekében a „+F” attribútum csak olyan fájlrendszerek üres könyvtáraiban állítható be, amelyekben a Unicode támogatás a fájl- és könyvtárnevekben engedélyezve van a beillesztési szakaszban. A „+F” attribútumot aktiváló könyvtárelemek nevei automatikusan kisbetűre konvertálódnak, és ebben a formában megjelennek a dcache-ben, de a felhasználó által kezdetben megadott formában mentik a lemezre, pl. A nevek kis- és nagybetűtől függetlenül történő feldolgozása ellenére a nevek megjelennek és elmenthetők anélkül, hogy elveszítenék a karakterek kis- és nagybetűivel kapcsolatos információkat (de a rendszer nem teszi lehetővé, hogy ugyanazokkal a karakterekkel, de eltérő kis- és nagybetűvel hozzon létre fájlnevet).

Forrás: opennet.ru

Hozzászólás