Linux kodols Ext4 failu sistēmai ietver atbalstu darbībai, kas nav reģistrjutīga

Teds Ts'o, ext2/ext3/ext4 failu sistēmu autors, pieņemts uz Linux-next filiāli, uz kura pamata tiks veidota Linux 5.2 kodola izlaišana, komplekts izmaiņas, ieviešot atbalstu operācijām, kas nav reģistrjutīgas Ext4 failu sistēmā. Ielāpi arī atbalsta UTF-8 rakstzīmes failu nosaukumos.

Lietojumjutīgs darbības režīms ir pēc izvēles iespējots attiecībā uz atsevišķiem direktorijiem, izmantojot jauno atribūtu “+F” (EXT4_CASEFOLD_FL). Ja šis atribūts ir iestatīts direktorijā, visas darbības ar failiem un apakšdirektorijiem iekšpusē tiks veiktas, neņemot vērā rakstzīmju reģistru, tostarp reģistrs tiks ignorēts, meklējot un atverot failus (piemēram, faili Test.txt, test.txt un test.TXT šādos direktorijos tiks uzskatīti par vienādiem). Pēc noklusējuma, izņemot direktorijus ar atribūtu “+F”, failu sistēma joprojām ir reģistrjutīga. Lai kontrolētu reģistrjutīgā režīma iekļaušanu, tiek piedāvāts modificēts utilītu komplekts e2fsprogs.

Plāksterus sagatavoja Collabora darbinieks Gabriels Krismans Bertazi un pieņēma ar septītais mēģinājumi pēc trīs gadi komentāru izstrāde un likvidēšana. Īstenošana neveic izmaiņas diska krātuves formātā un darbojas tikai tādā līmenī, lai mainītu nosaukumu salīdzināšanas loģiku funkcijā ext4_lookup() un aizstātu jaucējfunkciju dcache (Directory Name Lookup Cache) struktūrā. Atribūta "+F" vērtība tiek saglabāta atsevišķu direktoriju inode un tiek izplatīta uz visiem apakšfailiem un apakšdirektorijiem. Kodēšanas informācija tiek saglabāta superblokā.

Lai izvairītos no sadursmēm ar esošo failu nosaukumiem, atribūtu “+F” var iestatīt tikai tukšos direktorijos failu sistēmās, kurās montāžas stadijā ir iespējots Unicode atbalsts failu un direktoriju nosaukumos. Direktoriju elementu nosaukumi, kuriem ir aktivizēts atribūts “+F”, tiek automātiski konvertēti uz mazajiem burtiem un tiek atspoguļoti šajā formā dcache, bet tiek saglabāti diskā lietotāja sākotnēji norādītajā formā, t.i. Neskatoties uz nosaukumu apstrādi neatkarīgi no reģistra, nosaukumi tiek parādīti un saglabāti, nezaudējot informāciju par rakstzīmju reģistru (taču sistēma neļaus izveidot faila nosaukumu ar vienādām rakstzīmēm, bet citā gadījumā).

Avots: opennet.ru

Pievieno komentāru