I-Linux kernel yesixokelelwano sefayile ye-Ext4 iquka inkxaso yokusebenza okungakhathaliyo

UTed Ts'o, umbhali weenkqubo zefayile ext2/ext3/ext4, yamkelwe kwi Linux-isebe elilandelayo, kwisiseko apho ukukhutshwa kwe Linux 5.2 kernel kuyakwenziwa, iseti utshintsho, ukuphumeza inkxaso yemisebenzi engabalulekanga kwindlela yefayile ye-Ext4. Iipetshi zongeza inkxaso yeempawu ze-UTF-8 kumagama eefayile.

Imowudi yokusebenza engakhathaliyo ivulwa ngokukhethwa ngokunxulumene nolawulo lomntu ngamnye kusetyenziswa uphawu olutsha β€œ+F” (EXT4_CASEFOLD_FL). Xa olu phawu lusekwe kulawulo, yonke imisebenzi eneefayile kunye namacandelo angaphantsi ngaphakathi iya kuqhutywa ngaphandle kokuthathela ingqalelo imeko yabalinganiswa, kubandakanywa imeko iya kuhoywa xa kukhangelwa kwaye uvula iifayile (umzekelo, iifayile Test.txt, test.txt kunye novavanyo.TXT kuluhlu lwezalathisi luya kuqwalaselwa ngokufanayo). Ngokungagqibekanga, ngaphandle kwabalawuli abanophawu β€œ+F”, inkqubo yefayile iyaqhubeka nokuba novakalelo. Ukulawula ukubandakanywa kwemowudi ye-case-insensitive, isethi elungisiweyo yezinto eziluncedo zinikezelwa Inkqubo e2fs.

Iipetshi zalungiswa nguGabriel Krisman Bertazi, umqeshwa weCollabora, kwaye zamkelwa kunye Isixhenxe imizamo emva iminyaka emithathu uphuhliso kunye nokupheliswa kwezimvo. Ukuphunyezwa akwenzi utshintsho kwifomathi yokugcina idisk kwaye isebenza kuphela kwinqanaba lokutshintsha ingqiqo yegama lokuthelekisa kwi-ext4_lookup () umsebenzi kunye nokubuyisela i-hash kwi-dcache (i-Directory Name Lookup Cache) isakhiwo. Ixabiso le-"+F" yophawu loyelelwano lugcinwe ngaphakathi kwe-inode yezalathisi ezizimeleyo kwaye isasazwe kuzo zonke iifayili ezisezantsi kunye namacandelo angaphantsi. Ulwazi lwe-encoding lugcinwe kwi-superblock.

Ukuze uthintele ukungqubana namagama eefayile ezikhoyo, uphawu lwe "+F" lunokusetwa kuphela kulawulo olungenanto kwiinkqubo zefayile apho inkxaso ye-Unicode kwifayile kunye namagama olawulo yenziwe kwinqanaba lokunyuka. Amagama eenkalo zolawulo apho uphawu lwe-"+F" lwenziwa lusebenze luguqulwa ngokuzenzekelayo lube kwimeko esezantsi kwaye lubonakaliswe kule fomu kwi-dcache, kodwa zigcinwa kwidiski kwifom echazwe ekuqaleni ngumsebenzisi, okt. Ngaphandle kokucutshungulwa kwamagama kungakhathaliseki imeko, amagama abonisiwe kwaye agcinwe ngaphandle kokulahlekelwa ulwazi malunga nemeko yabalinganiswa (kodwa inkqubo ayiyi kukuvumela ukuba wenze igama lefayile kunye nabalinganiswa abafanayo, kodwa kwimeko eyahlukileyo).

umthombo: opennet.ru

Yongeza izimvo